A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

    package cn.itcast;  
      
    import java.io.File;  
    import java.io.FileReader;  
    import java.io.FileWriter;  
      
    public class MainClass{  
        public static void main(String[] args) throws Exception{  
            FileManager a = new FileManager("a.txt",new char[]{'\n'});  
            FileManager b = new FileManager("b.txt",new char[]{'\n',' '});        //这里为什么这么写 为什么不能写成和a 一样?
            FileWriter c = new FileWriter("c.txt");  
            String aWord = null;  
            String bWord = null;  
            while((aWord = a.nextWord()) !=null ){  
                c.write(aWord + "\n");  
                bWord = b.nextWord();  
                if(bWord != null)  
                    c.write(bWord + "\n");  
            }  
              
            while((bWord = b.nextWord()) != null){  
                c.write(bWord + "\n");  
            }     
            c.close();  
        }  
         
    }  
      
      
    class FileManager{  
      
        String[] words = null;  
        int pos = 0;  
        public FileManager(String filename,char[] seperators) throws Exception{  
            File f = new File(filename);  
            FileReader reader = new FileReader(f);  
            char[] buf = new char[(int)f.length()];  
            int len = reader.read(buf);  
            String results = new String(buf,0,len);  
            String regex = null;  
            if(seperators.length >1 ){  
                regex = "" + seperators[0] + "|" + seperators[1];  
            }else{  
                regex = "" + seperators[0];  
            }  
            words = results.split(regex);  
        }  
         
        public String nextWord(){  
            if(pos == words.length)  
                return null;  
            return words[pos++];  
        }  
      
    }

1 个回复

正序浏览
因为a.txt和b.txt需要用不同的分解字符串的方式
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马