为什么没有PrintWriter工作?

时间:2017-02-21 04:04:54

标签: java file-writing

这是我的代码:

public class Logger {
    PrintWriter writer = null;
    Calendar cal = Calendar.getInstance();

    public Logger() {
        try {
            writer = new PrintWriter(Logger.class.getResource("/logs/logs.txt").getFile());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }

    public void log(String message) {
        message = "[LOG] : " + cal.get(Calendar.DAY_OF_WEEK_IN_MONTH) + "/" + cal.get(Calendar.MONTH) + "/" + cal.get(Calendar.YEAR) + " " + cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.MILLISECOND) + " - " + message;
        System.out.println(message);
        writer.println(message);
    }

    public void p(String message) {
        System.out.println(message);
    }

    public void close() {
        writer.close();
    }
}

我在写文件方面遇到了问题。上面的代码就是所发生的一切 - 调用log,然后,在程序执行结束时,调用close。我已经尝试在日志末尾添加flush(),但没有做任何事情。该文件肯定存在,它肯定是可写的,它似乎无论我做什么都没有发生在保存它。我在Eclipse上,如果重要的话,日志位于一个单独的源文件夹中。我在写作之前和之后尝试过刷新Eclipse,它没有任何区别。

0 个答案:

没有答案