本人学习BufferedReader 写了个读文件的程序。
但是, 读取的 每行文件少第一个字符,不知道是甚么原因,大侠们解答下。
程序如下:
FileReader myFile = new FileReader("read.test");
 BufferedReader br = new BufferedReader(myFile);
String temp="";
 do{
temp=br.readLine();
 
    
}while(br.read() != -1);
例如:文件中的某行是   CBBBBB
我的temp中的值 是      BBBBB
第一个字符怎么丢拉!

解决方案 »

  1.   

    while(br.read() != -1){
    temp=br.readLine();
    }
      

  2.   

    因为你先do了一次.然后再开始循环.应该改成先循环判断再进行DO
    while(br.read() != -1)
    {
       temp=br.readLine();
    }
      

  3.   

    可以这样做:
    package csdn;import java.io.CharArrayWriter;
    import java.io.FileReader;public class FileRead {
    public static void main(String[] args) throws Exception {
    FileReader myFile=new FileReader("test.txt");
    CharArrayWriter writer=new CharArrayWriter();
    char[] chars=new char[1024];
    int count=0;
    while((count=myFile.read(chars))>0){
    writer.write(chars, 0, count);
    }
    System.out.println("test is "+writer.toString());
    }
    }