本人用 Java读入按行读入文件。文件大小17.823M 纯文本文件,文件309310行
读了将近1个小时,居然读不完,怎么回事?我的代码如下
//===============================================
FileReader fr = new FileReader(strFile+strFeedno);
BufferedReader br = new BufferedReader(fr);String strLine = "";
String strDoc = "";
while((strLine = br.readLine()) != null)
{
strDoc = strDoc + strLine + "\n";
//System.out.println(strLine);
} // --XXXXXXif( fr != null ) fr.close();
if( br != null ) br.close();
//=================================================另外Java有没有函数可以一次性将文件入读?刚才有位前辈说
//******************************
//你试试读一点 然后你刷新一下。*
//******************************
怎么刷新能不能详细一点 我刚开始用Java
读了将近1个小时,居然读不完,怎么回事?我的代码如下
//===============================================
FileReader fr = new FileReader(strFile+strFeedno);
BufferedReader br = new BufferedReader(fr);String strLine = "";
String strDoc = "";
while((strLine = br.readLine()) != null)
{
strDoc = strDoc + strLine + "\n";
//System.out.println(strLine);
} // --XXXXXXif( fr != null ) fr.close();
if( br != null ) br.close();
//=================================================另外Java有没有函数可以一次性将文件入读?刚才有位前辈说
//******************************
//你试试读一点 然后你刷新一下。*
//******************************
怎么刷新能不能详细一点 我刚开始用Java
BufferedReader br = new BufferedReader(fr); String strLine = "";
String strDoc = "";
StringBuffer sb = new StringBuffer();
while((strLine = br.readLine()) != null)
{
sb.append(strLine).append("\n");
} strDoc = sb.toString();
// --XXXXXX if( fr != null ) fr.close();
if( br != null ) br.close();你这代码创建字符串对象太多了,试试这个。
strDoc = strDoc + strLine + "\n";
建议使用StringBuffer
用append来增加读取的字符!
你可以试试看读一行输出一个行数,你应该可以看到一开始增长的速度不慢,但读下去就不行了解决方法就像上面所说,用StringBuffer或者StringBuilder替代