2016-11-28 11 views
-1

「検索」の完全なファイルパス(C:\ Users \ djustinwebb \ Documents \ BlueJ Projects \ LightHouse)を入力すると、ファイルが開こうとします: java.io.FileNotFoundException:C:\ Users \ djustinwebb \ Documents \ BlueJ Projects \ LightHouse(アクセスが拒否されました)(java.io.FileInputStream内)このjava.io.FileNotFoundExceptionを回避するにはどうすればよいですか?

検索のために「invoicedata.txt」と入力しましたが、ファイルを読み込まなくても機能しました私は完全なファイルパスを使用するときにそれが動作しない理由を知りたいと思います。このエラーに遭遇せずに完全なファイルパスを使用するには何が必要ですか?

public String searchCase()throws FileNotFoundException 
{ 
    String fileLine = null; 

    StringTokenizer stok = null; 

    Scanner inputFile = new Scanner(new File(search)); 


    String whatever = null; 



    while(inputFile.hasNextLine()) 
    { 
     fileLine = inputFile.nextLine(); 
     stok = new StringTokenizer(fileLine,","); 

     caseLCount++; 

     while(stok.hasMoreTokens()) 
     { 
      if(userWord.equals(stok.nextToken())) 
      { 
       caseWCount++; 

       whatever += caseLCount + ".\n"; 
      }//end if 
     }// end nested while 
    }//end outer while 
    inputFile.close(); 
    return whatever; 
}// end searchCase() 
+0

ファイルは実際にそのパスに存在しますか?別のプログラムからファイルを開くことはできますか? Javaプロセスを管理モードで実行してみてください。 –

+0

が許可の問題のようです。アクセスが拒否されたという事実は、ファイルを開こうとしたことを意味します – Mox

答えて

3

あなたがここにLightHouseあるdirectoryを、開いて読みしようとしているためです。ファイルパスにもファイル名を入力する必要があります。たとえば、..\LightHouse\invoicedata.txtです。

ファイルとフォルダを区別する場合は、isFile()isDirectory()メソッドを使用してください。 list()listFiles()の方法を使用してフォルダの内容を取得できます。

関連する問題