读取文本文件时CPU 100% ??奇怪了。

tankejin 2007-06-19 05:25:00
只要调用下面的方法,CPU一下就飙升到100% ,文件存在,不知道什么问题。且这文件只有一行不到10位的数字,应该不会是溢出什么的吧。

代码中有一处判断文件是否存在的,输出证明此文件是存在的。

代码如下:

public static String readfile(String url){
try{
String filecontent="";
String temp=null;

File readfile=new File(url);
if (readfile.exists()){
System.out.println("ok:"+url);
}
BufferedReader read=new BufferedReader(new FileReader(readfile));
temp=read.readLine();
while(temp!=null){ //
temp=temp+"\n";
temp=temp+read.readLine();
}
read.close();
filecontent=temp;
return filecontent;
}
catch(Exception e){
e.printStackTrace();
return "";
}
}
...全文
233 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
redwu99 2007-06-19
  • 打赏
  • 举报
回复
楼上分析的有道理,是死循环了,你是想把文件里的东西放到变量里面,多设一个变量就解决问题了。
String result="";
while(temp!=null){ //
result=temp+"\n";
temp=read.readLine();
}
return result;
这样不会死循环了吧
tankejin 2007-06-19
  • 打赏
  • 举报
回复
晕倒,自己头晕了,没发现,多谢
joejoe1991 2007-06-19
  • 打赏
  • 举报
回复
while(temp!=null){ //
temp=temp+"\n";
temp=temp+read.readLine();
} 木有明白你这么写干啥。 分析楼上的已经说了
leasa 2007-06-19
  • 打赏
  • 举报
回复
while(temp!=null){ //
temp=temp+"\n";
temp=temp+read.readLine();
}

这个有问题,只要有一行数据,temp永远不可能为空,死循环了,temp=read.readLine();

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧