簡體   English   中英

.read 錯誤:找不到符號符號:方法 read(bufferedreader,<null> ) 位置:jbutton 類型的變量 jtext1

[英].read ERROR: cannot find symbol symbol: method read(bufferedreader,<null>) location: variable jtext1 of type jbutton

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);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM