Javaのファイル読み込みでテキストを扱うときはchar型を使わない方がいい
ファイル読み込みでテキストファイルを扱うときはこんなコードを書く
String fileText;
try{
BufferedReader br = new BufferedReader(
new InputStreamReader(
new FileInputStream("FileName"), "UTF-8"
)
);
StringBuilder sb = new StringBuilder();
String line;
while((line = br.readLine()) != null){
sb.append(line);
}
br.close();
fileText = sb.toString();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
そして一部をこうも書ける
int ch;
while((ch = br.read()) != -1){
sb.append((char)line);
}
br.close();
違いは1行ずつ読み取るか、一文字ずつ読み取るかの違い。
でもこうすると内部に改行が含まれている場合、うまく扱えないケースがある。一応Characterクラスには\nが定義されてるが、改行直後の文字の扱いがおかしくなってしまい、改行ごとにパースした後に表示されない文字が残ってしまうようだった。
詳細は調べたら追記するかもしれないが、改行をもとに分けるようなコードだったら注意する必要があるみたい。