web-dev-qa-db-ja.com

Java)を使用して、パスに空白を含むファイルを読み取ります

名前に空白が含まれている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"にハードコーディングしようとしましたが、空白文字をエスケープする必要があるかどうかを確認するために、機能していないようです。この問題に関する提案はありますか?

編集:この質問を表示しているすべての人と同じページにいるだけです...名前に空白が含まれていないファイルを開くと機能しますが、空白があるファイルは失敗します。ここでは権限は問題ではなく、フォルダセパレータも問題ではありません。

8
user253530

スペース付きのファイル名は問題なく機能します

これが私のコードです

_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を常に問題なく返します

4
Sunil Kumar B M

ファイル名の空白ではなく、ファイル区切り文字に問題があるようです。使ってみましたか

System.getProperty("file.separator")

パス変数の「/」の代わりに?

1
Kris