我用PrintWriter输出  生成一个新的文件
但不能修改  一修改就会去掉原来的回车符  使原本分好行的纪录首尾相连
怎么回事?  怎么解决?

解决方案 »

  1.   

    不行呀
    输出只是各记录之间多了个空格
    例如
    dsfslkfj
    asdfsa
    sadfsadf
    输出后
    dsfslkfj  asdfsa  sadfsadf
    而我想要得是
    dsfslkfj
    asdfsa
    sadfsadf
    怎么弄?   我的程序如下  多指教
    import java.io.*;
    import java.util.*;
    class test {
    public static void main(String args[]) throws IOException{
      String s; StringBuffer sb=new StringBuffer();
      BufferedReader file=new BufferedReader(new FileReader(args[0]));
      PrintWriter filew=new PrintWriter(new BufferedWriter(new FileWriter("D:\\"+args[0])));
      LinkedList link=new LinkedList();
      while((s=file.readLine())!=null) {
    int count = 0; sb.delete(0,sb.length());
    for( int len=4; len<s.length(); len++) {
    sb.append(s.charAt(len));
    if(s.charAt(len)=='|') {
    if(count==0)
    { while(s.charAt(len+1)!='|')
       { len+=1; }
      sb.append("洛阳市");
    }
    if(count==1)
    { sb.append("471000");  }
    if(count==2)
    { sb.append("037964971716");  }
    if(count==3)
    { if(s.charAt(len+1)=='|')
    sb.append("1");  }
    if(count==4)
    { if(s.charAt(len+1)=='|')
    {sb.delete(0,sb.length()); len=s.length(); }}
    if(count==6)
    { sb.append("7461");
      for(int z=0; z<10; z++)
    { sb.append(s.charAt(len+1)); len++; }
      sb.append("01"); len+=5;
    }
    if(count==11)
    { if(s.charAt(len+1)=='|')
    sb.append("4930");  }
    count++; 
    }
    }
    sb.append("\r\n");
    s=sb.toString();

    link.add(s);
      }
      file.close();
      try { int c=0, i=0;

    while((link.getFirst())!=null) {
     if (args.length==2) {
     while(i<=link.getFirst().toString().length()-args[1].length()) {
       String news=link.getFirst().toString().substring(i,i+args[1].length());
       if (news.equalsIgnoreCase(args[1])) {
    System.out.println(link.getFirst());
    break;
       }
       else { i++;  }
     }
     }
      filew.println(link.getFirst());
      link.removeFirst();
      
    }
      }
      catch(NoSuchElementException e ) { System.out.println("have done"); }
      filew.close();
    }
    }