java.Ио.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 ответов
Если вы уже работаете с классом File, рассмотрите возможность использования его полного потенциала вместо того, чтобы делать половину работы самостоятельно:
File outputText = new File(filePath.getParentFile(), "Decrypted.txt");
каково значение filePath.getParentFile()
? Какую операционную систему вы используете? Возможно, было бы лучше объединить оба пути независимым от системы способом, например:
filePath.getParentFile() + File.separator + "Decrypted.txt"
Он должен быть создан как брат файла, на который указывает filePath.
например, если
File filePath = new File("C:\\Test\\a.txt");
затем он должен быть создан в Test dir.