记事本程序中打开功能出错并且此时程序占用内存过大

在记事本程序中,打开文件功能导致程序异常,占用内存过大,无法正常关闭。通过修改读取文件的循环条件,将`while(readline!=null)`更改为`while(readline=bufferedreader.readLine()!=null)`,成功解决了问题,使得记事本恢复正常工作。

打开菜单项的代码是这样的:

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),记事本就可正常工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值