1

这是我的原始代码,提示用户输入文件名。但是,用户必须在控制台内编写才能工作。

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出来了,但是在输入输入之后,什么也没有发生。请注意我的错误在哪里?

4

1 回答 1

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。

于 2011-04-17T17:32:08.373 回答