我正在尝试通过按JavaFx中的按钮将数据写入文本文件。唯一的问题是,当我尝试在我的按钮处理方法中使用语句“throws IOException”时,事情似乎不起作用。这是我的代码。
axis=3
我试图在网上找到答案,但是我被教导处理按钮按下的方式与大多数其他示例(显示(this :: processButtonPress))不同。我不确定使用try / catch语句会对我有所帮助,因为我对这些没有任何经验,请原谅我。我特别得到的错误是“错误:方法引用中不兼容的抛出类型IOException”。谢谢你的帮助。
我试图在主题上提出这个问题并且很容易解决。如果有任何明显的问题,请告诉我。
答案 0 :(得分:2)
我建议您使用try-with-resources statement自动关闭作家。
你也可以实现这样的动作处理程序:
write.setOnAction(event -> {
if (event.getSource() == write) {
try {
try (FileWriter fw = new FileWriter(records)) {
//On button press write to file
fw.write("Testing file writing");
}
} catch (IOException e) {
// TODO process the exception properly
e.printStackTrace();
}
}
});
答案 1 :(得分:1)
您绝对需要使用try / catch语句来捕获异常。
如果您更新我显示的方法,您将捕获异常。
然后,您需要添加代码来处理异常,因此程序将继续成功。
public void processButtonPress(ActionEvent event) {
if (event.getSource() == write) {
try {
// On button press write to file
fw.write("Testing file writing");
// Close filewriter
fw.close();
} catch (IOException e) {
e.printStackTrace();
// Code to handle goes here...
}
}
}