1、把a.txt文本文件(gbk)和b.ttt文本文件(utf-8)的内容读取出来,
把a.txt内容加b.ttt内容一起写到c.txt文件(gbk),先写a再写b。
public class Test1 {
public static void main(String[] args) {
demo1();
}
private static void demo1() {
File fileIn=new File("src\\day18\\a.txt");
File fileIn1=new File("src\\day18\\b.ttt");
File fileOut=new File("src\\day18\\c.txt");
Reader bis=null;
Reader bis1=null;
Writer bos=null;
try {
bis=new InputStreamReader(new FileInputStream(fileIn),"bgk");
bis1=new InputStreamReader(new FileInputStream(fileIn1),"utf-8");
bos=new OutputStreamWriter(new FileOutputStream(fileOut),"bgk");
char[] buff=new char[512];
int len;
while ((len=bis.read(buff))!=-1) {
bos.write(buff,0,len);
}
while ((len=bis1.read(buff))!=-1) {
bos.write(buff,0,len);
}
bos.flush();
System.out.println("copy完成");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
IoCloseUtil.close(bos,bis1,bis);
}
}
}
class IoCloseUtil {
public static void close(Closeable ...clsObjs){
for (Closeable clsObj : clsObjs) {
if(clsObj!=null){
try {
clsObj.close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.err.println("关闭的对象:"+clsObj);
}
}
}