按楼主的需求,保存的文件跟源文件的区别就是1。没有回车,2。没有重复的,3,没有空行这样的话很简单
import java.io.*;
public class T1023 {
    private File source;
    private String dir = ".\\output\\";
    public T1023(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){
            line = line.trim();
            if(line.equals("\n"))
                continue;
            line = line.replaceAll(";{2,}",";");
            os.write(line.getBytes());
        }
        os.close();
        br.close();
    }
    
    public static void main(String args[])throws IOException{
        new T1023("t1023_source.txt").store("t1023.txt");
    }
}

解决方案 »

  1.   

    import java.io.*;
    public class T1023 {
        private File source;
        private String dir = ".\\output\\";
        public T1023(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){
                line = line.trim();
                if(line.equals("\n")||line.indexOf("吉林")==-1)
                    continue;
                else{
                    os.write(line.replaceAll(";{2,}",";").getBytes());
                    while((line=br.readLine())!=null && line.trim().length()>0){
                        os.write(line.trim().replaceAll(";{2,}",";").getBytes());
                    }
                }
                //line = line.replaceAll();
                //os.write(line.getBytes());
            }
            os.close();
            br.close();
        }
        
        public static void main(String args[])throws IOException{
            System.out.println("\n".trim());
            new T1023("t1023_source.txt").store("t1023.txt");
        }