算法与编程

来源:互联网 发布:淘宝平铺衣服修图技巧 编辑:程序博客网 时间:2024/05/20 09:10

1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔

package test;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class Filec {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',' '});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); //读取缓冲区的所有charString results=new String(buf,0,len);String regex=null; if(seperators.length>1){//针对b.txt的,存在空格和回车符号regex=""+seperators[0]+"|"+seperators[1];}else{ regex=""+seperators[0];//a.txt的回车符} words=results.split(regex);//讲文件里面数据按照回车分成数组}            public String nextWord(){if(pos==words.length) //判断是否读完,没有读完返回上次之后的数据return null;return words[pos++];}}


我该怎么说呢,这道题我想了半天,还是按照答案写了一遍。只能说看懂了,然后才自己会写,自己写的和答案相似,只是缓冲区那一块我是while循环读取的,没有一下子全部放到buff里面区,,********我基本功还是不扎实,本身问题太大、


原创粉丝点击