我正在编写一个程序,我正在尝试在当前目录中创建一个新的文本文件,然后写一个字符串给它。但是,在尝试创建文件时,这段代码:
//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)
因此我无法写入文件,因为它自然不存在。我在这里做错了什么?
答案 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下创建。