名前に空白が含まれているFileInputStreamを使用してファイルを開こうとしています。
例えば:
String fileName = "This is my file.txt";
String path = "/home/myUsername/folder/";
String filePath = path + filename;
f = new BufferedInputStream(new FileInputStream(filePath));
その結果、FileNotFoundExceptionがスローされます。 filePathを"/home/myUserName/folder/This\\ is\\ my\\ file.txt"
にハードコーディングしようとしましたが、空白文字をエスケープする必要があるかどうかを確認するために、機能していないようです。この問題に関する提案はありますか?
編集:この質問を表示しているすべての人と同じページにいるだけです...名前に空白が含まれていないファイルを開くと機能しますが、空白があるファイルは失敗します。ここでは権限は問題ではなく、フォルダセパレータも問題ではありません。
スペース付きのファイル名は問題なく機能します
これが私のコードです
_File f = new File("/Windows/F/Programming/Projects/NetBeans/TestApplications/database prop.properties");
System.out.println(f.exists());
try
{
FileInputStream stream = new FileInputStream(f);
}
catch (FileNotFoundException ex)
{
System.out.println(ex.getMessage());
}
_
f.exists()
はtrue
を常に問題なく返します
ファイル名の空白ではなく、ファイル区切り文字に問題があるようです。使ってみましたか
System.getProperty("file.separator")
パス変数の「/」の代わりに?