Windowsは、ライブラリを通常のフォルダやパスとは異なる方法で処理します。したがって、このコードブロックを使用してテキストファイルを作成すると、次のようになります。
File filePath = fc.getSelectedFile();
...もっと無関係なもの...
File outputText = new File(filePath.getParentFile(), "Decrypted.txt");
try
{
FileWriter fw = new FileWriter(outputText); //Write everything to the file.
fw.write(messageOut);
fw.close(); //DON'T FORGET TO CLOSE THE FILE!
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
ファイルがたとえばデスクトップフォルダにある場合は機能しますが、マイピクチャーライブラリに入れようとすると、次のエラーメッセージが表示されます。
java.io.FileNotFoundException: ::{031E4825-7B94-4DC3-B131-E946B44C8DD5}\Pictures.library-ms\Decrypted.txt (The system cannot find the path specified)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileWriter.<init>(Unknown Source)
at code.Crypto.decrypt(Crypto.java:57)
at code.Crypto.main(Crypto.java:27)
これを修正する方法はありますか?