我用 Java 编写了这段代码,用于从文件中读取数据并将值传递给 vector ,但似乎没有考虑最后一行。
int lines = 0;
Vector<String> vc = new Vector<String>();
BufferedReader in = new BufferedReader(new FileReader(FILE_NAME));
while(in.readLine() != null){
if(lines >= 1){
vc.addElement(in.readLine());
}
lines++;
}
System.out.println(vc.size());
for(int i = 0; i< vc.size(); i++){
System.out.println(vc.get(i));
}
文件的元素是
4
fdgdfs
sdfg
sdfg
sfdg
sdfg
例如,我想从第二行读取并将它们添加到 vector 中。打印结果为
3
sdfg
sfdg
null
问题出在哪里?
最佳答案
更改:
while(in.readLine()!=null)
至:
while((line = in.readLine())!=null)
其中 line
是您应该在 while 循环之前定义的字符串。
然后使用行变量如下添加元素,
vc.addElement(line);
正如评论中所建议的,您可以使用 arraylist 而不是 vector , read this它解释了为什么你应该这样做。
关于java - 文件读取最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29877591/