ファイルから読み込み中に問題が発生します。私はテキストファイルから読み込み、文字列を読み込んで行列に書き込もうとしています。問題は、IndexOutOfBounds例外があり、なぜこれが起こるのかわかりません。Javaからファイルを読み込んでいるときに異常な動作が発生する
これは私のコードです:
public static char[][] readTxt(String args[]) {
String file = args[0];
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
//counter
int counter = 0;
String[] tam = line.split(",");
char[][] maze = new char[tam.length][tam.length];
while (line != null) {
String[] values = line.split(",");
for (int i = 0; i < values.length; i++) {
maze[counter][i] = values[i].charAt(0);
}
counter++;
line = br.readLine();
}
br.close();
return maze;
} catch (Exception e) {
System.out.println("Exception reading file " + file + ": " + e);
}
return null;
}
それは私の入力は次のようになりchar[][] maze = new char[tam.length][tam.length];
でIndexOutOfBoundsをスロー:
:私もそれを変更しようとした%,%,%,%,%,%,%,%,%,%,% %,C, , , ,C, , ,C, ,% %,%,%, , , ,%,%,%,%,% %,C, , , ,C, , , , ,% %, , , , , , , , , ,% %, , , , , , , , , ,% %, , , , , , , , , ,% %, , , , , , , , , ,% %, , , , , , , , , ,% %, , , , , , , , , ,% %,%,%,%,%,%,%,%,%,%,%
char[][] maze = new char[tam.length+1][tam.length+1];
今は動作しますが、理由はわかりません。何か案は?
PD:マトリックスを印刷したとき、私は何か変わったものを見ました。それは私の行列の右側にいくつかの空白文字が印刷されたように見えますが、私の入力ファイルに私がいけない空白文字を書いた:(
任意のアイデア?
最初の行はすでに読み込まれています。 – Bhoot
'linea 'はどこから来たのですか? –
実際にファイル内のデータは何ですか? –