2017-09-27 9 views
0

私は単にjavaでテキスト文書を読み込もうとしています。ファイルは私のプログラムによって発見されています。さまざまなテストで正しい絶対パスを判断できることがわかりますが、プログラムにファイルを表示する権限がないと思われますか?ファイルがjavaで読み込めないのはなぜですか?

File names = new File("names.txt"); 
if(names.setReadable(true, false (edit: true))) 
    System.out.println("Can now be read"); 
if(names.canRead()) 
    System.out.println("Can be read"); 

FileInputStream fs = new FileInputStream(names); 
BufferedReader br = new BufferedReader(new InputStreamReader(fs)); 

各if文のブール式はfalseと評価され、なぜ、どのように変更するかわかりません。私は新しいFileInputStreamを作成しようとしたところでFileNotFoundExceptionを実行します。このFileInputStreamは、ファイルが読めないために読み込まれます。

EDIT:setReadableメソッド呼び出しの2番目のパラメータをtrueに変更しました。その部分が機能します(「今すぐ読み取ることができます」)。したがって、ファイルが見つかって読み込み可能に設定されているように見えますが、2番目のif文が失敗してプログラムがテキスト文書にアクセスできないようです。

+0

例外がFileNotFoundExceptionの場合、誤ってファイルの位置を指しています。ファイルファイル=新しいファイル( "C:\\ filePath \\ yourfile.txt"); – Myo

答えて

0

これは次のようになります。

if(names.setReadable(true, true)) 

所有者がファイルにアクセスできるように、2番目の引数はtrueする必要があります。

falseに設定した場合、プログラムはファイルを読み取ることができません。

詳細については、hereを参照してください。

関連する問題