0

別々のファイルに出力したい 2 つの配列があります。これが私のコードです:

    try {
      PrintStream out = new PrintStream(new FileOutputStream(
          "Edges.txt"));
      for (i = 0; i < bcount; i++) {
        out.println(b[i][0] + " " + b[i][1]);
      }
      out.close();

    } catch (FileNotFoundException e) {
      e.printStackTrace();
    }



    } catch (Exception ex) {
    ex.printStackTrace();
    }

    try {
      PrintStream out = new PrintStream(new FileOutputStream(
          "Nodes.txt"));
      for (i = 0; i < bigbIter; i++) {
        out.println(bigb[i]);
      }
      out.close();

    } catch (FileNotFoundException e) {
      e.printStackTrace();
    }



    } catch (Exception ex) {
    ex.printStackTrace();
    }

try / catch / catch の最初のセットのみを使用すると、完全に機能します。しかし、両方を使用すると機能せず、「型の不正な開始 ... } キャッチ」および「エラー: クラス、インターフェイス、または列挙型が必要です」というエラーが表示されます。私は何を間違っていますか?

4

2 に答える 2

5
} catch (FileNotFoundException e) {
  e.printStackTrace();
}



} catch (Exception ex) {
ex.printStackTrace();
}

余分な}があり、パーサーがスローされ、多くのエラーが発生します。

于 2012-12-19T16:41:59.040 に答える
1

ファイルに書き込むメソッドを作成する必要があります。ファイル名とデータを渡すだけです。閉じ括弧が多すぎることがわかるはずです。IDE で括弧を強調表示してください。

教訓は、catch ブロックが再び必要になったときにコピー/貼り付けしてから編集しないことです。

編集: また、Java 7 では、1 つのブロックに複数のキャッチを含めることができます。これを行うことをお勧めします。

catch (FileNotFoundException | IOException e)
{
}
于 2012-12-19T16:45:19.573 に答える