java - .read ERROR : cannot find symbol symbol: method read(bufferedreader, <null>) 位置: jbutton 类型的变量 jtext1

标签 java compiler-errors

private void jtext1ActionPerformed(java.awt.event.ActionEvent evt)
{                                       

    JFileChooser chooser = new JFileChooser();
    chooser.showOpenDialog(null);
    File f = chooser.getSelectedFile();
    String filename = f.getAbsolutePath();

    try
    {
        FileReader reader = new FileReader(filename);
        BufferedReader br = new BufferedReader(reader);
        jtext1.read(br, null);
        br.close();
        jtext1.requestFocus();
    }
    catch (Exception e)
    {
        JOptionPane.showMessageDialog(null, e);
    }
}                

我尝试在 JButton 中运行此代码,同时为应用程序创建功能并不断收到错误消息:

找不到符号符号:方法read(bufferedreader,)位置:jbutton类型的变量jtext1

最佳答案

您收到该错误是因为您从 JButton 调用 read() 方法,但按钮不读取文件 - 它们所做的只是单击事件时引发事件,以便您可以运行其他代码作为响应。

您应该做的是在 br 上调用 read(),这是您的 BufferedReader。我不确定您为什么尝试将 BufferedReader 的实例传递给自身,但这些不是 read() 的参数。需要。即使您在正确的对象上调用该方法,它也会失败并出现不同的错误。

通常,您会使用 readLine()方法,顾名思义,它读取整行文本,允许您逐行处理文件,而无需告诉代码每次读取要处理多少字节的数据。

你想做这样的事情:

private void jtext1ActionPerformed(java.awt.event.ActionEvent evt)
{
    // Your FileChooser code should live in a separate method. If the user
    // selects the FileChooser from a menu, then create an event handler for
    // that menu item. 
    try
    {
        FileReader reader = new FileReader(filename);
        BufferedReader br = new BufferedReader(reader);

        String line = "";

        while((line = br.readLine()) != null)
        {
            // Do whatever you want with the line.
            // You can add it to an arraylist
            // or you can split() it into parts
            // or you can just print it to screen. Whatever.
        }
        br.close();
        // this line is probably unnecessary, but ultimately, not harmful
        jtext1.requestFocus();
    }
    catch (Exception e)
    {
        JOptionPane.showMessageDialog(null, e);
    }
}

关于java - .read ERROR : cannot find symbol symbol: method read(bufferedreader, <null>) 位置: jbutton 类型的变量 jtext1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59038601/

相关文章:

java - 返回 java 不可变结果意味着什么?

c# - 编译错误。将属性与结构一起使用

laravel - Laravel错误消失了

templates - D中的递归模板问题

java - 无法创建新的远程 session - Selenium webdriver

java - 不使用 size() 方法的 LinkedList Spliterator

java - 当我旋转 Android 设备时,XML 变回 main.xml

java - OSGI服务改变方法

c++ - header 包含和编译器错误

c - 尝试编译 TPC-H Benchmark 并返回此错误 ld : library not found for -lgcc