質問: false) { でエラーが出ています コメントアウトしている所はちゃんと出力しています 解決方法をご教授おねがいします
回答: やりたいことがよくわからなかったのでとりあえずエラーにならないように簡単に直しました。 br.readLine();は、読む行がなくなるとnullを返すので、そこをチェックする必要があります。 あと、whileの前と直後に呼んでますが、これだと1行めが処理されません。 書き方はいろいろありますが、まずは、ファイルを呼んで普通に出力するところまで書いてから 必要な処理を入れるほうがいいと思いますよ。 ``` public String[][] read(String path) { String[][] s = new String[1000][1000]; File file = new File(path); String str = "a"; try { BufferedReader br = new BufferedReader(new FileReader(file)); int i = 0, i1 = 0; str = br.readLine(); s[i][i1] = str; while (s[i][i1] != null) { // str = br.readLine(); // コメントアウト // System.out.println(str); if (str.equals("k") == false) { i1 = i1 + 1; s[i][i1] = str; // System.out.println(s[i][i1]); } else { // str = br.readLine(); // コメントアウト i = i + 1; i1 = 0; s[i][i1] = str; // System.out.println(s[i][i1]); } // --> 追加 // System.out.println(str); str = br.readLine(); if (str == null) { break; } // <-- 追加 } } catch (FileNotFoundException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } return s; } ```