1. 程式人生 > >FileReader讀取文字內容

FileReader讀取文字內容

//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;
}