[关闭]
@XQF 2016-12-21T10:43:09.000000Z 字数 1145 阅读 938

简单日志

java


  1. class MyTask implements Runnable {
  2. private Logger logger;
  3. private String string;
  4. public MyTask(String string) {
  5. logger = Logger.getLogger();
  6. this.string = string;
  7. }
  8. @Override
  9. public void run() {
  10. logger.writeToLogFile(string);
  11. }
  12. }
  13. public class Logger {
  14. private static Logger logger;
  15. private RandomAccessFile loggerFile;
  16. private Logger() {
  17. try {
  18. //使用随机文件的方法写入
  19. this.loggerFile = new RandomAccessFile("D:\\logger.txt", "rw");
  20. } catch (FileNotFoundException e) {
  21. e.printStackTrace();
  22. } catch (IOException e) {
  23. e.printStackTrace();
  24. }
  25. }
  26. public static synchronized Logger getLogger() {
  27. if (logger == null) {
  28. logger = new Logger();
  29. }
  30. return logger;
  31. }
  32. public void writeToLogFile(String string) {
  33. try {
  34. loggerFile.seek(loggerFile.length());
  35. // loggerFile.writeUTF(string);
  36. loggerFile.write(string.getBytes());
  37. } catch (IOException e) {
  38. e.printStackTrace();
  39. }
  40. }
  41. public static void main(String[] args) {
  42. //唯一的实例
  43. Logger logger = Logger.getLogger();
  44. String string = "20162213202020---写入";
  45. // String s = new String(string.getBytes(), "utf-8");
  46. logger.writeToLogFile(string);
  47. for (int i = 0; i < 3; i++) {
  48. try {
  49. Random random = new Random(47);
  50. int a = random.nextInt(1000);
  51. Thread.sleep(a);
  52. new Thread(new MyTask("this is the No" + i + " thread!\n")).start();
  53. } catch (InterruptedException e) {
  54. e.printStackTrace();
  55. }
  56. }
  57. }
  58. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注