在java中打印到多个输出文件

时间:2012-12-19 16:40:44

标签: java

我有两个数组要打印到单独的文件。这是我的代码:

    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,它的效果非常好。但是当我使用它们时它不起作用,给我错误“非法启动类型...}捕获”和“错误:类,接口或枚举预期”。我做错了什么?

2 个答案:

答案 0 :(得分:5)

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



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

你有一个额外的},它会抛弃解析器并给你带来很多错误。

答案 1 :(得分:1)

您应该编写一个写入文件的方法。只需传递文件名和数据即可。您应该看到有太多关闭括号,让IDE突出显示括号。

课程只是不要复制/粘贴然后再次编辑它时编辑catch块!

编辑:同样在java 7中,你可以在一个块中有多个捕获,最好这样做:

catch (FileNotFoundException | IOException e)
{
}