获取 PrintWriter 写入的文件
Get file that PrintWriter writes to
如何获取 PrintWriter 对象正在写入的文件的名称?
PrintWriter myPrintWriter = new PrintWriter(fileName, "UTF-8");
我需要 fileName 参数。
你不能 - 它甚至可能不会写入文件,例如
StringWriter stringWriter = new StringWriter();
PrinterWriter printWriter = new PrintWriter(stringWriter);
如果您需要此信息,您可能会创建 PrintWriter
的子类,它会记住(并公开)它正在写入的文件...但通常需要这样做表明您是最好的看看你的设计并重新考虑它。 (我个人倾向于避免 PrintWriter
,因为我不喜欢被吞没的异常,但这是另一回事。)
如果你写入文件,你可以使用这个代码:
File f = new File("some_file.txt");
f.createNewFile();
PrintWriter writer = new PrintWriter(new FileWriter(f));
或者您可以使用文件名:
PrintWriter myPrintWriter = new PrintWriter("some_file.txt", "UTF-8");
如果文件存在,那么它将被截断为零大小;否则,将创建一个新文件。
如何获取 PrintWriter 对象正在写入的文件的名称?
PrintWriter myPrintWriter = new PrintWriter(fileName, "UTF-8");
我需要 fileName 参数。
你不能 - 它甚至可能不会写入文件,例如
StringWriter stringWriter = new StringWriter();
PrinterWriter printWriter = new PrintWriter(stringWriter);
如果您需要此信息,您可能会创建 PrintWriter
的子类,它会记住(并公开)它正在写入的文件...但通常需要这样做表明您是最好的看看你的设计并重新考虑它。 (我个人倾向于避免 PrintWriter
,因为我不喜欢被吞没的异常,但这是另一回事。)
如果你写入文件,你可以使用这个代码:
File f = new File("some_file.txt");
f.createNewFile();
PrintWriter writer = new PrintWriter(new FileWriter(f));
或者您可以使用文件名:
PrintWriter myPrintWriter = new PrintWriter("some_file.txt", "UTF-8");
如果文件存在,那么它将被截断为零大小;否则,将创建一个新文件。