这是我的原始代码,提示用户输入文件名。但是,用户必须在控制台内写入才能工作。
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter file name: ");
String filename = bf.readLine();
File file = new File(filename);
if (!filename.endsWith(".txt")) {
System.out.println("Usage: This is not a text file!");
System.exit(0);
} else if (!file.exists()) {
System.out.println("File not found!");
System.exit(0);
}
现在我想创建一个JOptionPane来提示用户在窗格内输入。 这是我的代码。
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
JFrame frame = new JFrame();
Object result = JOptionPane.showInputDialog(frame, "Enter a blog website");
String word2 = (String) result;
word2 = bf.readLine();
File file = new File(word2);
if (!word2.endsWith(".txt")) {
System.out.println("Usage: This is not a text file!");
System.exit(0);
} else if (!file.exists()) {
System.out.println("File not found!");
System.exit(0);
}
有一些进一步的编码接收用户的输入并处理它们。然而,在创建了joptionpane后,没有任何反应。 joptionpane出来了,但在输入后输入,没有任何反应。记住我的错误在哪里?
答案 0 :(得分:2)
您在阅读后会覆盖该值。
Object result = JOptionPane.showInputDialog(null, "Enter a blog website");
String word2 = (String) result;
File file = new File(word2);
if (!word2.endsWith(".txt")) {
System.out.println("Usage: This is not a text file!");
System.exit(0);
} else if (!file.exists()) {
System.out.println("File not found!");
System.exit(0);
}
如果您使用的是JOptionPane,那么您不需要BufferedReader。