我想用BufferedReader读取c盘下一个txt文件,但是总不能读取完整,一共1w+行,但是只能读取5k+行,不知道为什么?
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;public class TestIO {
public static void main(String[] args)throws Exception{
List lineString=new ArrayList<String>();//存储文本每一行数据
List lineArr=new ArrayList<String []>();
int counter=0;//记录读取文件行数
//读取文本数据
//先建立一个文件对象,再建立一个缓冲读取器,封装对文本文件读取器,这样的读取器可以解决DataInputStream读取器读取中文乱码的问题
File file=new File("c:/20100920.txt");
BufferedReader in=new BufferedReader(new FileReader(file));
BufferedWriter out=new BufferedWriter(new FileWriter("c:/test.txt"));
while(in.read()!=-1){
String firstName=in.readLine();
System.out.println(in.readLine());
//解析每一行文本
String []a=firstName.split(",");
lineArr.add(a);
counter++;
}
in.close();
System.out.println(counter);
System.out.println("counter=="+counter);
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;public class TestIO {
public static void main(String[] args)throws Exception{
List lineString=new ArrayList<String>();//存储文本每一行数据
List lineArr=new ArrayList<String []>();
int counter=0;//记录读取文件行数
//读取文本数据
//先建立一个文件对象,再建立一个缓冲读取器,封装对文本文件读取器,这样的读取器可以解决DataInputStream读取器读取中文乱码的问题
File file=new File("c:/20100920.txt");
BufferedReader in=new BufferedReader(new FileReader(file));
BufferedWriter out=new BufferedWriter(new FileWriter("c:/test.txt"));
while(in.read()!=-1){
String firstName=in.readLine();
System.out.println(in.readLine());
//解析每一行文本
String []a=firstName.split(",");
lineArr.add(a);
counter++;
}
in.close();
System.out.println(counter);
System.out.println("counter=="+counter);
}
}
解决方案 »
- 很简单的排序算法题,就是看不出哪错了
- 使用File类时报错!!
- java applet
- 急!急!急!高分求助!JAVA运行时错误Exception in thread "main" java.lang.NoClassDefFoundError: Alpha
- 大家在用JBUILDER设计菜单时,中文字体能出得来吗
- 请问怎么学Java啊?
- 关于异常的问题
- tomcat起来后抱错,我在dos下运行了startup然后敲了一句set classpath="",错误如下:
- 求jcreater pro 2.0 注册号?
- SHA1RSA签名的流程是什么
- 聊天程序中遇到的一个简单小问题,突然转不过来,请大家来帮忙。。
- JTextField这个组件调用哪个方法可以隐藏边框??
String firstName = "";
while((firstName = in.read())!=-1){
//String firstName=in.readLine();
System.out.println(in.readLine());
//解析每一行文本
String []a=firstName.split(",");
lineArr.add(a);
counter++;
}
readLine()调用了两次
但是用in.read()!=-1会使第一个字符丢失,所以我这样改了
String firstname=null;
while((firstname=in.readLine())!=null){
System.out.println(firstname);
}