java.io.IOException:系统找不到指定的写入文本文件的路径

时间:2012-05-27 20:48:11

标签: java text-files ioexception

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

//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)

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

3 个答案:

答案 0 :(得分:5)

如果您已经使用File类,请考虑充分发挥其潜力,而不是自己完成一半的工作:

File outputText = new File(filePath.getParentFile(), "Decrypted.txt");

答案 1 :(得分:2)

filePath.getParentFile()的价值是多少?您使用什么操作系统?以与系统无关的方式连接两个路径可能是个更好的主意,如下所示:

filePath.getParentFile() + File.separator + "Decrypted.txt"

答案 2 :(得分:0)

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

例如

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

然后它应该在Test dir下创建。