打开菜单项的代码是这样的:
private void openFile()
{if(textareaIsEmpty()==false)
{
saveFile();
commonContentInOpenFile();
}
else
{
commonContentInOpenFile();
}
}
private void commonContentInOpenFile()
{
FileDialog filedialog_open=new FileDialog(this);
filedialog_open.setVisible(true);
filename=filedialog_open.getDictory()+filedialog_open.getFile();
File filetoload=new File(filename);
try {
FileReader reader = new FileReader(filetoload);
BufferedReader bufferedreader=new BufferedReader(reader);
textareausedinallclass.textarea.setText("");
String readline=bufferedreader.readLine();
while(readline!=null)
{
textareausedinallclass.textarea.append(readline);
}
bufferedreader.close();
reader.close();
}
catch (FileNotFoundException e1)
{
JOptionPane.showMessageDialog(null,"文件不存在");
}
catch (IOException e)
{
e.printStackTrace();
}
}
但是运行这段代码时会发现记事本此时出现异常,就是占用内存过大,并且关闭不了。经过几位大神的指点,以及网上相关代码的引导,终于解决问题了。就是将其中的 while(readline!=null)改为while(readline=bufferedreader.readLine()!=null),记事本就可正常工作。