[英].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.