public static void main(String args[]) throws Exception
{   
  FileReader fr=new FileReader("E:\\web.txt");
  BufferedReader br=new BufferedReader(fr);
 
  FileWriter fw=new FileWriter("E:\\aaa.txt");
  BufferedWriter bw=new BufferedWriter(fw);
  
  String tmp1;
 
  while((tmp1=br.readLine())!=null)
  {  
 String s=tmp1+"\n";
 System.out.println(s);
 bw.write(s);
  }
     bw.flush();
  br.close();
  bw.close();
 }我发现,如果web.txt里面有四行的话,新生成的aaa.txt就比web.txt少了四个字节的大小,如果web.txt是五行的,就少了五个字节,我原来以为少了换行符这个字符,于是加上了“\n”,再后来的新文件,还是少了与行数相等的字节数,请问这是什么回事呢? 分不多了,请大家帮帮忙。谢谢

解决方案 »

  1.   

    sorry,写错了
     String s=tmp1+"\r\n";
      

  2.   

    public static void main(String args[]) throws Exception
    {   
              FileReader fr=new FileReader("E:\\web.txt");
              BufferedReader br=new BufferedReader(fr);          FileWriter fw=new FileWriter("E:\\aaa.txt");
              BufferedWriter bw=new BufferedWriter(fw);          String tmp1;          while((tmp1=br.readLine())!=null)
              {  
                     String s=tmp1;
                     
                     System.out.println(s);
                     bw.write(s);
                     bw.newLine();
                     System.out.println();
              }
              bw.flush();
              br.close();
              bw.close();
     }
    可以这么写 你自己试试
      

  3.   

    呵呵 \r\n 是换行字符最后一行不用加所以比原来多了 一个 \r\n 两个字节
      

  4.   

    public class Test {
    public static void main(String args[]) throws Exception {
    FileReader fr = new FileReader("c:\\from.txt");
    BufferedReader br = new BufferedReader(fr); FileWriter fw = new FileWriter("c:\\to.txt");
    BufferedWriter bw = new BufferedWriter(fw);
    boolean add = false ;
    String tmp1; while ((tmp1 = br.readLine()) != null) {
    if(add) {
    bw.write("\r\n");
    }
    String s = tmp1 ;
    System.out.println(s);
    bw.write(s);
    add = true;
    } bw.flush();
    br.close();
    bw.close();
    }
    }