Java .read错误:找不到符号符号:方法读取(bufferedreader,<;null>;)位置:jbutton类型的变量jtext1
在为应用程序创建功能时,我尝试在JButton中运行此代码&不断收到错误消息:Java .read错误:找不到符号符号:方法读取(bufferedreader,<;null>;)位置:jbutton类型的变量jtext1,java,compiler-errors,Java,Compiler Errors,在为应用程序创建功能时,我尝试在JButton中运行此代码&不断收到错误消息: 找不到symbol symbol:method read(bufferedreader,)location:jbutton类型的变量jtext1您会收到该错误,因为您正在从jbutton调用read()方法,但按钮不读取文件——它们所做的只是在单击时抛出事件,以便您可以运行其他代码作为响应 您应该在br上调用read(),这是您的BufferedReader。我不知道为什么要尝试将BufferedReader的实例传
找不到symbol symbol:method read(bufferedreader,)location:jbutton类型的变量jtext1您会收到该错误,因为您正在从
jbutton
调用read()
方法,但按钮不读取文件——它们所做的只是在单击时抛出事件,以便您可以运行其他代码作为响应
您应该在br
上调用read()
,这是您的BufferedReader
。我不知道为什么要尝试将BufferedReader的实例传递给它自己,但这些不是需要的参数。即使在正确的对象上调用了该方法,它也会失败,并出现不同的错误
通常,您会使用该方法,顾名思义,该方法读取整行文本,允许您逐行处理文件,而无需告诉代码每次读取时要处理多少字节的数据
您希望执行以下操作:
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);
}
}
你到底想在这里做什么?阅读JTextField组件的内容?确切地说,什么是
jtext
?我正在尝试从我的计算机上的任何文本文件中读取,jtext1是我在JFrame中创建的按钮的名称,该按钮应该允许我执行此操作。谢谢,我将尝试它并让您知道它是如何运行的
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);
}
}