一つ
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に実際にテキストが含まれていることを確認する必要があります。
出典
2017-07-13 17:35:46
VGR
ありがとうございました!これは、bufferedreaderの利点についての良い洞察です。代わりにそれを使って試してみよう –