2017-07-13 24 views
0

ファイルから読み込もうとしていますが、正しく動作していません。私はここで多くの例を見てきました。私が使っている方法は他人の質問に対する答えから借りています。私はあなたがbufferedreaderを使うことができることを知っていますが、私は知っていることにこだわりたいと思いますし、今私のクラスで学んでいます。このコードを実行すると、空白行が表示されますが、ファイルには4行の情報が含まれています。FileReaderがJavaで動作しません

名前:ハワード

chequing:0

貯蓄:0

クレジット:利点の0

答えて

1

一つ

import java.io.*; 
import java.util.Scanner; 
import java.lang.StringBuilder; 
import java.io.File; 
import java.io.FileInputStream; 

public class fileWriting{ 
    public static void main(String[] args) throws IOException{ 
    //Set everything up to read & write files 
    //Create new file(s) 
    File accInfo = new File("accountInfo.txt"); 
    //Create FileWriter 
    Scanner in = new Scanner(new FileReader("accountInfo.txt")); 

    String fileString = ""; 
    //read from text file to update current information into program 
    StringBuilder sb = new StringBuilder(); 
    while(in.hasNext()) { 
     sb.append(in.next()); 
    } 
    in.close(); 
    fileString = sb.toString(); 
    System.out.println(fileString); 
    } 
} 

私のファイルには、次のテキストが含まれていますScannerを使用してBufferedReaderのようなものを使用することは、何らかの理由で読み込みに失敗した場合は例外を返します。それはです。良いこと - 推測するのではなく、いつ、なぜプログラムが失敗したのかを知りたいですか?

スキャナは例外をスローしません。代わりに、手動でチェックする必要があります:

if (in.ioException() != null) { 
    throw in.ioException(); 
} 

このようなチェックは、おそらくwhileループの後、あなたのプログラムの終わり近くに属します。それはあなたのプログラムを動作させることはありませんが、何がうまくいかなかったかを教えて、問題を解決することができます。

もちろん、accountInfo.txtに実際にテキストが含まれていることを確認する必要があります。

+0

ありがとうございました!これは、bufferedreaderの利点についての良い洞察です。代わりにそれを使って試してみよう –

関連する問題