java新手求助!一个从文件里读数据到arraylist的程序,写出来结果不对不知道为什么。txt文件内容见下

txt里的文件是0,1,2,3,4;各占一行importjava.io.BufferedReader;importjava.io.File;importjava.io.F... txt里的文件是0,1,2,3,4;各占一行
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class Getlist {
public static void main(String[] args)
{
try
{
File f=new File("c:/listtest.txt");
ArrayList newlist=new ArrayList();
BufferedReader bfr=new BufferedReader(new FileReader(f));
while(bfr.readLine()!=null)
{
newlist.add(bfr.readLine());
}
bfr.close();
System.out.println("读入的数组为"+newlist);
}catch(IOException f){}
}
}
程序输出结果不是想象的[0,1,2,3,4]而是[1, 3, null],不知道为什么

对不起分用完了,跪求解答。。。以后有分的时候会追加悬赏。。。。
展开
 我来答
xupeiying
2012-05-16 · TA获得超过468个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:567万
展开全部
while(bfr.readLine()!=null)
{
newlist.add(bfr.readLine());
}
每次while循环的时候,你调用一次readLine(),然后bfr里的记录就会移动到下一条。所以你下面的add的时候,是while判断力的read的下一条。
1,2,3,4 的情况是
第一次 while(0),add(1)
第二次 while(2), add(3),
第三次 while(4), add(null),
木星上的程序员
2012-05-16 · TA获得超过476个赞
知道小有建树答主
回答量:602
采纳率:0%
帮助的人:410万
展开全部
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class Getlist {
public static void main(String[] args)
{
try
{
File f=new File("c:/listtest.txt");
ArrayList <String>newlist =new ArrayList<String>();
BufferedReader bfr=new BufferedReader(new FileReader(f));
String str = bfr.readLine();
while(str!=null)
{
newlist.add(str);
str = bfr.readLine();
}
bfr.close();
for(int i = 0;i<newlist.size();i++){
System.out.println("读入的数组为"+newlist.get(i));
}
}catch(IOException f){}
}
}
追问
运行不成功,弹出来的错误是
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2760)
at java.util.Arrays.copyOf(Arrays.java:2734)
at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
at java.util.ArrayList.add(ArrayList.java:351)
at project2.Getlist.main(Getlist.java:21)
Process exited with exit code 1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zw222123
2012-05-16 · 超过14用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:34.2万
展开全部
String str=bfr.readLine();
while(str!=null)
{
newlist.add(bfr.readLine());
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d0b2d69
2012-05-16
知道答主
回答量:1
采纳率:0%
帮助的人:1626
展开全部
是不是listtest.txt有问题,我有同学在做类似题目时也出现过这个问题,我记得当时就是··.txt的问题,如果不是,请别见怪···
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式