2015-04-27 44 views
0

如何获取PrintWriter对象写入的文件的名称?获取PrintWriter写入的文件

PrintWriter myPrintWriter = new PrintWriter(fileName, "UTF-8"); 

我需要fileName参数。

+0

如果不写入文件会怎么样? '新的PrintWriter(System.out)' – Radiodef

回答

1

你不能 - 它可能不会写入文件,例如

StringWriter stringWriter = new StringWriter(); 
PrinterWriter printWriter = new PrintWriter(stringWriter); 

如果您需要这些信息,你可能创建的PrintWriter,它可以记住(和公开),它写入文件...但通常需要做这个子类中表明你最好服用看看你的设计并重新考虑它。 (我个人倾向于避免PrintWriter反正我不喜欢例外只是被吞噬,但是这是一个不同的问题。)

0

如果写入文件,您可以使用此代码:

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"); 

如果文件存在,那么它将被截断为零大小;否则,将创建一个新文件。