【发布时间】:2019-04-19 17:59:05
【问题描述】:
当他按下“生成报告”按钮时,我有创建文本文件的代码,但它仅将文本文件生成为预定名称“Report.txt”。我想要的功能是当用户按下“生成报告”按钮时,一个小窗口应该要求用户输入文件名(可能使用 JOptionPane?)并相应地按下 Ok。
else if (str.equals("Generate Report")) {
try {
FileWriter fw = new FileWriter("D:\\Report.txt"); //instead of report.txt, I want to user to type in the name
BufferedWriter buffer = new BufferedWriter(fw);
String title="Title: "+lb1.getText();
DateFormat dateFormat = new SimpleDateFormat("MM/dd/YYYY HH:mm:ss");
Date date = new Date();
buffer.write(title);
buffer.newLine();
buffer.newLine();
buffer.write("\nDate and Time of Creation: "+dateFormat.format(date));
buffer.newLine();
buffer.newLine();
buffer.write("\nList of activities & their duration:");
buffer.newLine();
buffer.newLine();
buffer.write("List of all paths with the activity names and total duration:");
buffer.newLine();
String txtArea = ta1.getText();
String[] txtArray = txtArea.split("\n");
for (int i = 0; i < txtArray.length; i++) {
buffer.write(txtArray[i]);
buffer.newLine();
}
buffer.close();
ta1.setText("Report Generated");
buffer.close();
} catch (Exception e) {
System.out.println(e);
}
}
【问题讨论】:
-
仅在用户按下
Generate report按钮时创建FileWriter。那么目标文件名应该已经设置好了,可以在FileWriter的构造函数中使用。 -
我不明白您包含的代码与问题的相关性。
标签: java swing user-interface filewriter