編寫一個程序,將a.txt文件中的單詞與b.txt文件中的單詞交替合并到c.txt文件中,a.txt文件中的單詞用回車符分隔,b.txt文件中用回車或空格進行分隔。

主方法類:


packagecom.cdut;

importjava.io.FileWriter;

public classMain {

public static voidmain(String[] args)throwsException {

FileWriter ra =newFileWriter("a.text");

ra.write("a\nc\ne\ng\n");

ra.close();

FileWriter rb =newFileWriter("b.text");

rb.write("b\nd f h");

rb.close();

FileManager a =newFileManager("a.text",new char[]{'\n'});

FileManager b =newFileManager("b.text",new char[]{'\n',' '});

FileWriter rc =newFileWriter("c.text");

String aWord =null;

String bWord =null;

while((aWord=a.nextWord())!=null){

rc.write(aWord);

bWord = b.nextWord();

if(bWord !=null){

rc.write(bWord);

}

}

while((bWord=b.nextWord())!=null){

rc.write(bWord);

}

rc.close();

}

}

FileManager類:


packagecom.cdut;

importjava.io.File;

importjava.io.FileReader;

/**

* FileManager的作用:讀取文件中的字符流,將啟轉換成String數(shù)組,并給出遍歷方法:

*nextWord()

*/

public classFileManager {

String[]words=null;

intpos=0;//words的下標

//seperator為分隔符

publicFileManager(String fileName,char[] seperators)throwsException{

File file =newFile(fileName);

FileReader reader =newFileReader(file);

char[] buf =new char[(int)(file.length())];

intlen = reader.read(buf);

String result =newString(buf,0, len);

String regex =null;//正則表達式

if(seperators.length>1){

regex =""+seperators[0]+"|"+seperators[1];

}else{

regex =""+seperators[0];

}

words= result.split(regex);

reader.close();

}

publicString nextWord(){

if(pos==words.length){

return null;

}

returnwords[pos++];

}
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容