Java程序错误:找不到符号文件



我正在用java编写一段代码,以在JTextArea中显示文本文件。有人能告诉我这个代码出了什么问题吗。据说找不到符号文件。。

FOpen.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
final JFileChooser FileDialog = new JFileChooser();
int ReturnValue=FileDialog.showOpenDialog(null);
if(ReturnValue==JFileChooser.APPROVE_OPTION)
{
File file = FileDialog.getSelectedFile(); 
}
BufferedReader in = new BufferedReader(new FileReader(file));
String line = in.readLine();    
while(line!=null)
{
WritingArea.append(line+"n");
line=in.readLine();
}
}
}); 

查找"可变范围/可见性"。由于file属性是在括号内声明的,因此只有该代码块中的代码才能访问它

其他注意事项/提示:

  • 如果ReturnValue!= ..,那么继续使用其余部分没有多大意义,因此该方法的其余部分也应该在括号内
  • 只要加载File,该代码就会阻塞EDT。不要阻止EDT(事件调度线程)-发生这种情况时,GUI将"冻结"。代替调用Thread.sleep(n),实现用于重复任务的SwingTimer或用于长时间运行任务的SwingWorker。有关更多详细信息,请参阅Swing中的并发
  • 请学习类、方法和名称的通用Java命名约定(特别是名称的大小写);属性名称&始终如一地使用它们
  • 如果CCD_ 8是CCD_
  • 总是复制/粘贴错误&异常输出
  • 为了尽快获得更好的帮助,请发布SSCCE

您确实需要了解作用域。当前,File对象封装在if块的作用域中。如果您想在其他任何地方使用该File对象,这是不允许的。因此,将所有内容放入if块中,在那里它们将与File对象处于相同的范围内

FOpen.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
final JFileChooser FileDialog = new JFileChooser();
int ReturnValue=FileDialog.showOpenDialog(null);
if(ReturnValue==JFileChooser.APPROVE_OPTION)
{
File file = FileDialog.getSelectedFile(); 
BufferedReader in = new BufferedReader(new FileReader(file));
String line = in.readLine(); 
while(line!=null)
{
WritingArea.append(line+"n");
line=in.readLine();
}
}  
}
});

最新更新