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 に答える