2014-11-04 136 views
0

Printwriter为什么这样做?写入文件:Printwriter将正斜杠转换为反斜杠

File file = new File("/files/KA.txt"); 
    writer = new PrintWriter(file); 
    writer.write("HELLO"); 

在上面的代码中,我不断收到一个错误,指出:

java.io.FileNotFoundException: \files\KA.txt (The network path was not found) 

除了这不是我指定的路径?然后,我如何指定要写入的文件 - 通常会创建一个新文件并写入此文件?它也会抛出错误,如果KA.txt不存在 - 我最好想创建一个新的文件和作家。

感谢

+1

这与'PrintWriter'无关,并且与'File'有关。这只是标准化的道路。 – 2014-11-04 10:58:36

回答

1

我非常想创建一个新的文件和作家吧。

您可以简单地创建一个文件,

PrintWriter writer = new PrintWriter("name.txt", "UTF-8"); 
writer.println("text"); 

其中UTF-8是文件的编码。并写入文件,请记住它覆盖,如果该文件存在相同的名称

+0

@Downvoter你能解释一下吗? – 2014-11-04 10:58:44

+0

是的,但我想将此文件添加到我的项目中的特定位置。因此使用正斜杠? – CodeGeek123 2014-11-04 11:08:24

+0

你可以像这样做'URL url = classLoader.getResource(“path/to/folder”); File file = new File(url.toURI());' – 2014-11-04 11:14:01

1

问题是父/文件目录不存在,所以你必须事先使用File.mkdirs创建它。

File file = new File("/files/KA.txt"); 
    File parentFile = file.getParentFile(); 
    parentFile.mkdirs(); 
    PrintWriter writer = new PrintWriter(file); 
    writer.write("HELLO"); 
    writer.close();