我有两个数组要打印到单独的文件。这是我的代码:
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,它的效果非常好。但是当我使用它们时它不起作用,给我错误“非法启动类型...}捕获”和“错误:类,接口或枚举预期”。我做错了什么?
答案 0 :(得分:5)
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} catch (Exception ex) {
ex.printStackTrace();
}
你有一个额外的}
,它会抛弃解析器并给你带来很多错误。
答案 1 :(得分:1)
您应该编写一个写入文件的方法。只需传递文件名和数据即可。您应该看到有太多关闭括号,让IDE突出显示括号。
课程只是不要复制/粘贴然后再次编辑它时编辑catch块!
编辑:同样在java 7中,你可以在一个块中有多个捕获,最好这样做:
catch (FileNotFoundException | IOException e)
{
}