主方法類:
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ā)布平臺,僅提供信息存儲服務。