小的初学JBuilder,写了这样一个程序,目的是从一个文本文件test1中读取所需要的数据,并存为另一个文本文件test2。
test1如下所示:
1  Sky 000g
2  Sky 100g
3  Sky 200g
4  Sky 300g
5  Sky 400g
6  Sky 500g
7  Sky 600g
8  Sky 700g
9  Sky 800g
10 Sky 900g
test2预想的效果应为
Sky 000g
Sky 100g
Sky 200g
Sky 300g
Sky 400g
Sky 500g
Sky 600g
Sky 700g
Sky 800g
Sky 900g
但结果却是
Sky 000gSky
100gSky 
200gSky
300gSky 
400gSky 
500gSky 
600gSky 
700gSky 
800gSky 
900g
我的程序为:
package converttest;import java.io.*;public class ConvertTest {
  public ConvertTest() {
  }
  private File source;
  private String dir = ".\\output\\";
  public ConvertTest(String file){
  source = new File(dir+file);
  }
  public void store(String filename)throws IOException{
  BufferedReader br = new BufferedReader(new FileReader(source));
  OutputStream os = new FileOutputStream(dir+filename);
  String line = "";
  while((line=br.readLine())!=null){
    if(line.indexOf("\n")!=-1){
  os.write(line.getBytes("\n"));
  continue;
  }
  line = line.substring(line.indexOf("Sky"), line.length());
  os.write(line.getBytes());
  }
  os.close();
  br.close();
  }
  public static void main(String args[])throws IOException{
  new ConvertTest("text1.txt").store("text2.txt");
  }
}
我感觉是回车换行的问题,但改来改去还是不行,请各位大侠不吝赐教,100分不够还可再加,谢谢啦!

解决方案 »

  1.   

    package converttest;import java.io.*;public class ConvertTest
    {
        public ConvertTest()
        {
        }    private File source;
        private String dir = "C:\\aa\\";
        public ConvertTest(String file)
        {
            source = new File(dir + file);
        }    public void store(String filename)
            throws IOException
        {
            BufferedReader br = new BufferedReader(new FileReader(source));
            OutputStream os = new FileOutputStream(dir + filename);
            String line = "";
            while ((line = br.readLine()) != null)
            {
    //            if (line.indexOf("\n") != -1)
    //            {
    //                os.write(line.getBytes("\n"));
    //                continue;
    //            }
    //            line = line.substring(line.indexOf("Sky"), line.length());
                line += "\r\n";
                os.write(line.getBytes());
            }
            os.close();
            br.close();
        }    public static void main(String args[])
            throws IOException
        {
            new ConvertTest("text1.txt").store("text2.txt");
        }
    }
      

  2.   

    while((line=br.readLine())!=null){
    OutputStream os = new FileOutputStream(dir+filename);
    OutputStreamWriter bw =  new OutputStreamWriter(os);
            bw.(line+"\r\n");
    }
      

  3.   

    OutputStream os = new FileOutputStream(dir+filename);
    OutputStreamWriter bw =  new OutputStreamWriter(os);
    while((line=br.readLine())!=null){
            bw.(line+"\r\n");
    }
      

  4.   

    os.write(line.getBytes("\n"));
      ||
     \  /
      \/
     os.write("\n");line.getBytes(/*这里面填的是字符集*/)
      

  5.   

    store方法里面改为:BufferedReader br = new BufferedReader(new FileReader(source));
    OutputStream os = new FileOutputStream(dir+filename);
    String line = "";
    while((line=br.readLine())!=null){
    line = line.substring(line.indexOf("Sky"), line.length());
    os.write((line+"\n").getBytes());
    }
    os.close();
    br.close();
      

  6.   

    line = line.substring(line.indexOf("Sky"), line.length())+"\r\n";
    os.write(line.getBytes());