FileReader讀取文字內容
阿新 • • 發佈:2019-01-10
//3.編寫一個程式,將text1.txt檔案中的單詞與text2.txt檔案中的單詞交替合併到text3.txt檔案中。 // text1.txt檔案中的單詞用回車符分隔,text2.txt檔案中用回車或空格進行分隔。 public static void main(String[] args) throws Exception{ String[] a = getHandleContent("F://text1.txt",new char[]{'\n'}); String[] b = getHandleContent("F://text2.txt",new char[]{'\n',' '}); FileWriter c = new FileWriter("F://text3.txt"); int aIndex=0; int bIndex=0; while(aIndex<a.length){ c.write(a[aIndex++] + "\n"); if(bIndex<b.length) c.write(b[bIndex++] + "\n"); } while(bIndex<b.length){ c.write(b[bIndex++] + "\n"); } c.close(); } /** * 組裝正則表示式 * @param filePath * @param seperators * @return * @throws Exception */ public static String[] getHandleContent(String filePath,char[] seperators) throws Exception{ String regex=null; if(seperators.length>1){ regex=""+seperators[0]+"|"+seperators[1]; }else{ regex=""+seperators[0]; } return getFileContent(filePath).split(regex); } /** * 讀取文件內容 * @param filePath * @return * @throws Exception */ public static String getFileContent(String filePath) throws Exception{ File file=new File(filePath); FileReader reader=new FileReader(file); char[] buf=new char[(int)file.length()]; int len=reader.read(); String str=new String(buf,0,len); return str; }