9

我正在编写一个程序,我试图在当前目录中创建一个新的文本文件,然后向它写入一个字符串。但是,在尝试创建文件时,此代码块:

//Create the output text file.
File outputText = new File(filePath.getParentFile() + "\\Decrypted.txt");
try
{
    outputText.createNewFile();
}
catch (IOException e)
{
    e.printStackTrace();
}

给我这个错误信息:

java.io.IOException: The system cannot find the path specified
    at java.io.WinNTFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(Unknown Source)
    at code.Crypto.decrypt(Crypto.java:55)
    at code.Crypto.main(Crypto.java:27)

因此,我无法写入文件,因为它自然不存在。我在这里做错了什么?

4

3 回答 3

6

如果您已经在使用 File 类,请考虑使用它的全部潜力,而不是自己做一半的工作:

File outputText = new File(filePath.getParentFile(), "Decrypted.txt");
于 2012-05-27T21:14:53.617 回答
2

的价值是filePath.getParentFile()多少?您使用什么操作系统?以独立于系统的方式加入两条路径可能是一个更好的主意,如下所示:

filePath.getParentFile() + File.separator + "Decrypted.txt"
于 2012-05-27T20:52:56.130 回答
0

它应该被创建为 filePath 指向的文件的兄弟。

例如,如果

File filePath = new File("C:\\\\Test\\\\a.txt");

然后它应该在测试目录下创建。

于 2012-05-27T21:12:58.970 回答