2016-03-25 19 views
0

スキャナを使用すると、複数行のファイルを読み込んでそれをすべてStringに格納する方法がわかりません。私はfile.hasNext方法は、ファイル内のデータのすべてを食べることを見つけて、そのfile.nextInt()を見つけるために任意の値を持っていないので、それを返し、スキャナから複数行のファイルをStringに格納する方法

while(file.hasNext()) 
{ 
    string += file.nextLine(); 
} 

:私のようなループを使用しますエラー。スキャナを「リセット」するにはどうすればよいですか?私は新しいScannerオブジェクトを作成しようとしましたが、それは何も変化しませんでした。この文字列をメソッドで実行する必要があり、何度もこの問題が発生しています。私は何をすべきか?

+0

'スキャナ#のhasNext( ) 'は何も食べていない、[mcve]を投稿してください(http://stackoverflow.com/help/mcve)これはhttp://stackoverflow.com/questions/13102045/skipping-nextline-after-using- next-nextint-other-nextfoo-methods –

+0

どのようなエラーが発生しましたか?あなたが手に入れた? – bili

答えて

1

多分あなたはStringBuilderを試してみるべきです。

StringBuilder builder = new StringBuilder(); 
try (BufferedReader br = new BufferedReader(new FileReader(file))) { 
    String line; 
    while ((line = br.readLine()) != null) { 
    builder.append(line); 
    // process the line. 
    } 
} 

後で

String text = builder.toString(); 
0

文字列にスキャナソースの全体の内容を読み取るためには、ファイルの最後にスキャナの区切り文字を設定します。

String contents = file.useDelimiter("\\Z").next(); 
関連する問題