1.使用指定編碼操作文本文件
/**
* 使用指定編碼操作文本文件
* 通過高效字符流拷貝文本文件,一行一行讀取
*/
@Test
public void copyFile04(){
BufferedReader reader = null;
BufferedWriter writer = null;
try {
String sourceFileUrl = "C:\\Users\\admin\\Desktop\\testIO\\a.txt";
String targetFileUrl = "C:\\Users\\admin\\Desktop\\testIO\\b.txt";
//可以指定編碼集,防止亂碼
reader = new BufferedReader(new InputStreamReader(new FileInputStream(sourceFileUrl),"utf-8"));
writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(targetFileUrl),"utf-8"));
//使用默認的編碼集進行操作,utf-8
//reader = new BufferedReader(new FileReader(sourceFileUrl));
//writer = new BufferedWriter(new FileWriter(targetFileUrl));
String line;
while ((line=reader.readLine())!=null){
writer.write(line);
writer.newLine();//輸出換行符
}
}catch (Exception e){
e.printStackTrace();
}finally {
//在finally中關閉開啓的流
if (reader!=null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (writer!=null){
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}