import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.FileOutputStream;
import java.io.File;public class TestFileIO {    public TestFileIO() {
    }    public static void main(String[] args){
        TestFileIO test = new TestFileIO();
       test.writeFile("c:\\writeFile.txt",test.readFile("c:\\readFile.txt"));
    }
    public void writeFile(String path,String outStr)
    {
        try {
            FileOutputStream out = new FileOutputStream(path,true);
            out.write(outStr.getBytes());
            out.close();
        } catch (Exception ex) {
        }
    }    public String readFile(String path)
    {
        String temp = "";
        try
        {
        FileInputStream in = new FileInputStream(path);
        int n = 0;
        while((n=in.read())!=-1)
        {
            temp += (char)n;
        }
        temp = new String(temp.getBytes("ISO-8859-1"),"GBK");
        System.out.println(temp);
        }catch(Exception ex){}
        return temp;
    }
}假如readFile.txt里面是:
a.bc a100bnlkfsdadfasdawefes
a.bc 13ef4zseesfadfdawdawfes
a.bc 3fzseflkfsdadfadwawwasd
a.bc 35443nlkfsdadfawdaweasd
a.bc a100bnlkfsdadfadwdawwad我需要在writeFile.txt写入时 去掉a.bc和空格 只要后面的数据
每20个字符自动回车

解决方案 »

  1.   

    好说!
    把writeFile方法改改!    public void writeFile(String path,String outStr)
        {
            try {
                outStr = outStr.replaceAll("a.bc ", ""); // 去掉a.bc和空格
                FileOutputStream out = new FileOutputStream(path,true);
                out.write(outStr.getBytes());
                out.close();
            } catch (Exception ex) {
            }
        }
      

  2.   

    public void writeFile(String path,String outStr)
        {
            try {
                outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格           
                outStr=outStr.replaceAll("\\n","");//去掉原来的换行符
                outStr=outStr.replaceAll("(.{20})","$1\n");//每20个字符换行            FileOutputStream out = new FileOutputStream(path,true);
                out.write(outStr.getBytes());
                out.close();
            } catch (Exception ex) {
            }
        }
      

  3.   

    import java.io.*;
    import java.util.*;public class TestFileIO
    {    private String inputfile = "./readFile.txt";
        private String outputfile = "./writeFile.txt";
        private BufferedReader in = null;
        private PrintWriter out = null;

        public TestFileIO() 
        {
     try
     {
        in = new BufferedReader(new FileReader(new File(inputfile)));     out = new PrintWriter(new FileWriter(new File(outputfile))); 
     }
     catch(FileNotFoundException e)
     {
         System.out.println("test 1");  
     }
     catch(IOException e1)
     {
         System.out.println("test 2");
     }
        }    public static void main(String[] args)
        {
            TestFileIO test = new TestFileIO();
            test.writeFile();
        }
        public void writeFile()
        {
            try 
    {
                 String str = in.readLine();
         while (str != null)
         {
       System.out.println("old value:" + str);  
       StringTokenizer t = new StringTokenizer(str," ");
       
       while(t.hasMoreTokens())
       {
                           String s = t.nextToken();
           if (s.equals("a.bc"));        
           else
           {
         out.print(s.trim());
           }
           
       }
                       out.println();
       out.flush();
       str = in.readLine();
         }

    catch (IOException e2) 
    {
         System.out.println("test 3");
            }
        }
    }在Solaris中写的,只需将inputfile,outputfile值改成需要的路径即可.
      

  4.   

    lip009(深蓝忧郁)  我想要的是 一行超过20个 其他的字符就排在下一行
      

  5.   

    public void writeFile(String path,String outStr)
        {
            try {
                outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格           
                //去掉这行
                //outStr=outStr.replaceAll("\\n","");//去掉原来的换行符
                outStr=outStr.replaceAll("(.{20})(.*\\n)","$1\n$2");//每20个字符换行            FileOutputStream out = new FileOutputStream(path,true);
                out.write(outStr.getBytes());
                out.close();
            } catch (Exception ex) {
            }
        }
      

  6.   

    lip009(深蓝忧郁)大哥 你给的代码输出是
    a100bnlkfsdadfasdawefes
    13ef4zseesfadfdawdawfes
    3fzseflkfsdadfadwawwasd
     我想要的结果是这样的
    a100bnlkfsdadfasdawe
    fes13ef4zseesfadfdaw
    dawfes3fzseflkfsdadf
    adwawwasd
      

  7.   

    public void writeFile(String path,String outStr)
        {
            try {
                outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格           
                outStr=outStr.replaceAll("\\n","");//去掉原来的换行符
                outStr=outStr.replaceAll("(.{20})","$1\n");//每20个字符换行            FileOutputStream out = new FileOutputStream(path,true);
                out.write(outStr.getBytes());
                out.close();
            } catch (Exception ex) {
            }
        }输出结果:
    a100bnlkfsdadfasdawe
    fes13ef4zseesfadfdaw
    dawfes3fzseflkfsdadf
    adwawwasd35443nlkfsd
    adfawdaweasda100bnlk
    fsdadfadwdawwad
    public void writeFile(String path,String outStr)
        {
            try {
                outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格           
                //去掉这行
                //outStr=outStr.replaceAll("\\n","");//去掉原来的换行符
                outStr=outStr.replaceAll("(.{20})(.*\\n)","$1\n$2");//每20个字符换行            FileOutputStream out = new FileOutputStream(path,true);
                out.write(outStr.getBytes());
                out.close();
            } catch (Exception ex) {
            }
        }
    输出结果:a100bnlkfsdadfasdawe
    fes
    13ef4zseesfadfdawdaw
    fes
    3fzseflkfsdadfadwaww
    asd
    35443nlkfsdadfawdawe
    asd
    a100bnlkfsdadfadwdaw
    wad
      

  8.   

    对了,上面这有点问题:
    outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格
    改一下:
    outStr=outStr.replaceAll("a\\.bc ","");//去掉a.bc加空格
      

  9.   

    我就是想要下面的输出结果输出结果:
    a100bnlkfsdadfasdawe
    fes13ef4zseesfadfdaw
    dawfes3fzseflkfsdadf
    adwawwasd35443nlkfsd
    adfawdaweasda100bnlk
    fsdadfadwdawwad你上面的代码没有实现啊 你看你是不是贴错了!!
    先谢了
      

  10.   

    就这一段代码,没有问题的......我已经测试过public void writeFile(String path,String outStr)
        {
            try {
                outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格           
                outStr=outStr.replaceAll("\\n","");//去掉原来的换行符
                outStr=outStr.replaceAll("(.{20})","$1\n");//每20个字符换行            FileOutputStream out = new FileOutputStream(path,true);
                out.write(outStr.getBytes());
                out.close();
            } catch (Exception ex) {
            }
        }输出结果:
    a100bnlkfsdadfasdawe
    fes13ef4zseesfadfdaw
    dawfes3fzseflkfsdadf
    adwawwasd35443nlkfsd
    adfawdaweasda100bnlk
    fsdadfadwdawwad
      

  11.   

    String str="a.bc a100bnlkfsdadfasdawefes\na.bc 13ef4zseesfadfdawdawfes\na.bc 3fzseflkfsdadfadwawwasd\na.bc 35443nlkfsdadfawdaweasd\na.bc a100bnlkfsdadfadwdawwad";    str=str.replaceAll("a\\.bc ","");
        str=str.replaceAll("\\n","");
        str=str.replaceAll("(.{20})","$1\n");
        System.out.println(str);这是我的测试代码
      

  12.   

    现在的问题是 我是从readFile.txt文件里面读出数据的啊readFile.txt里面是:
    a.bc a100bnlkfsdadfasdawefes
    a.bc 13ef4zseesfadfdawdawfes
    a.bc 3fzseflkfsdadfadwawwasd
    a.bc 35443nlkfsdadfawdaweasd
    a.bc a100bnlkfsdadfadwdawwad
      

  13.   

    String str="a.bc a100bnlkfsdadfasdawefes\na.bc 13ef4zseesfadfdawdawfes\na.bc 3fzseflkfsdadfadwawwasd\na.bc 35443nlkfsdadfawdaweasd\na.bc a100bnlkfsdadfadwdawwad";System.out.println(str);
    这个字符穿输出就是:
    a.bc a100bnlkfsdadfasdawefes
    a.bc 13ef4zseesfadfdawdawfes
    a.bc 3fzseflkfsdadfadwawwasd
    a.bc 35443nlkfsdadfawdaweasd
    a.bc a100bnlkfsdadfadwdawwad
      

  14.   

    再改一下,加上替换\r回车换行:输出到txt文件以后用写字板打开就是你想要的效果,记事本不认识\n换行符
    public void writeFile(String path,String outStr)
        {
            try {
                outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格           
                outStr=outStr.replaceAll("\\n*\\r*","");//去掉原来的换行符
                outStr=outStr.replaceAll("(.{20})","$1\n");//每20个字符换行            FileOutputStream out = new FileOutputStream(path,true);
                out.write(outStr.getBytes());
                out.close();
            } catch (Exception ex) {
            }
        }