2016-03-26 11 views
-1

フォルダ(eclipseパッケージsrc/myFolder内)にあるテキストドキュメントをString []に読み込もうとしています。どうすればこれを達成できますか? bufferedReaderまたはScannerを使用する必要がありますか?文書内の各単語は、文書IDにタグ付けする必要があります。例:最初の文書に「春が来ました」という文があり、2番目の文書に「Let's have fun」という文がある場合。出力は次のようになりますJAVAを使用してフォルダ内の複数のファイルを読む

Spring  1 
is   1 
here  1 
Let's  2 
have  2 
fun  2 

私の主な関心事は複数のドキュメントを読むことです。ここで私のファイルを読む試みです。

Null Pointerの例外が発生しました。エラーとはどのようなものでしょうか?

+0

URL url = this.getClass()。getResource( "/ Lab1_Data");を使用します。ファイルファイル=新しいファイル(uri.toURI()); ' –

答えて

0

あなたのコードを間違えてコピーしたのに、listOfFilesというファイルの配列を宣言したが、後でlistOfMyFilesという名前の変数に代入しようとするとわかりません。私が得られないことは、JAVAが宣言されていない変数を使用したことを伝えていない理由です。

ところで、Exception Stack全体またはどこの行がコピーされますか?

+0

変更を加えました。申し訳ありません。 – shockwave

+0

問題は解決しましたか? – Hellzzar

0

File[] listOfFiles=null;File[] listOfMyFiles=null;を変更しているようです。

参照しているディレクトリが存在しない場合は、NullPointerExceptionが表示されている可能性があります。コードは、フォルダの場所が見つかりませんでしたし、これによるあなたのファイルオブジェクトがnull値を持つているので、あなたはNullPointerExceptionが取得している

public File getFolder(String folderName) throws URISyntaxException { 
     URL url = this.getClass().getResource("/Lab1_Data"); 
     File file = new File(url.toURI()); 
     return file; 
} 

1

あなたのコードは次のようなものでなければなりません。

0

Fileクラスは、オペレーティングシステムのパス上で動作します。

new File("src/myFolder") 

は、現在の作業ディレクトリとの相対的な論理パスオブジェクトを構成します。これはあなたがプログラムを開始した場所に依存します。クラスパスとは何の関係もありません。

あなたはClassloader.getSystemResourceメソッドを使用する必要がクラスパス内のファイルにアクセスしたい場合:

 URL url = ClassLoader.getSystemResource("src/Lab1_Data"); 
     File ch = new File(url.toURI()); 
     File[] files = ch.listFiles(); 

は「SRC」を想定すると、あなたのパッケージパスのルートelemetです。その後、ファイルを繰り返し処理できます。

 for (File file : files) 
     { 
      // do something with the file 
     }