2012-05-27 16 views
9

Piszę program, w którym próbuję utworzyć nowy plik tekstowy w bieżącym katalogu, a następnie napisać do niego ciąg znaków. Jednak podczas próby utworzenia pliku, ten fragment kodu:java.io.IOException: System nie może odnaleźć ścieżki określonej podczas pisania pliku tekstowego

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

daje mi ten komunikat o błędzie:

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) 

tego nie można zapisać do pliku, ponieważ jest naturalnie nie istnieje, ponieważ . Co ja tu robię źle?

+1

Jak 'filePath' zbudowane? – hmjd

+0

Plik filePath = fc.getSelectedFile(); – Inglonias

+0

jaka jest wartość 'filePath.getParentFile()' tuż przed 'outputText' jest zbudowany? – hmjd

Odpowiedz

5

Jeśli pracujesz z już klasy pliku, należy rozważyć użycie pełnego potencjału zamiast robić pół pracę na własną rękę:

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

'java.io.FileNotFoundException: :: {031E4825-7B94-4DC3-B131-E946B44C8DD5} \ Pictures.library-ms \ Decrypted.txt (System nie może odnaleźć określonej ścieżki)' 'dzieje się. Pamiętaj, że to biblioteka obrazów. – Inglonias

+0

Zaznaczam to jako odpowiedź, ponieważ działa i komunikaty o błędach, które dostaję, nie są moją winą, ale raczej winą Windows i sposobem obsługi Bibliotek. Dzięki za twoją pomoc, wszyscy! – Inglonias

2

Jaka jest wartość filePath.getParentFile()? Jakiego systemu operacyjnego używasz? To może być lepszy pomysł, aby dołączyć obie ścieżki w sposób niezależny od systemu, na przykład:

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

Podczas gdy pozbyłem się komunikatu o błędzie, nie widzę pliku w katalogu, którego użyłem. Gdzie to jest? – Inglonias

+0

@Inglonias great! dziękuję też :) –

+0

Właściwie, podczas dalszych badań, to tylko usunął komunikat o błędzie. Nie widzę pliku – Inglonias

0

to powinny być tworzone jako rodzeństwo pliku wskazywanego przez filePath.

na przykład jeśli

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

to powinno być tworzone na podstawie testów reż.

+0

Rozważ użycie 'File.separator' w odróżnieniu od tych zapomnianych przez Boga odrzuconych ukośników. – ryvantage

Powiązane problemy