package?IsPackage;
import?java.io.FileInputStream;
import?java.io.FileNotFoundException;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.io.OutputStream;
import?java.io.OutputStreamWriter;
public?class?IsrAndOswDemo?{
public?static?void?main(String[]?args)?throws?IOException?{
FileInputStream?in?=?new?FileInputStream("e:\\javaio\\imooc.txt");
InputStreamReader?isr?=?new?InputStreamReader(in);
int?c;
while((c?=?isr.read())!=-1){
System.out.print((char)c);
}
char[]?buffer?=?new?char[8*1024];
//int?c;
//while((c=isr.read(buffer,0,buffer.length))!=-1){
//String?s=?new?String(buffer,0,c);
//System.out.print(s);
//
//}
FileOutputStream?out?=?new?FileOutputStream("e:\\javaio\\imooc2.txt");
OutputStreamWriter?osw?=?new?OutputStreamWriter(out,?"utf-8");
while((c=isr.read(buffer,0,buffer.length))!=-1){
String?s?=?new?String(buffer,0,c);
//System.out.print(s);
osw.write(buffer,0,c);
osw.flush();
}
osw.close();
isr.close();
}
}
2017-03-09
因?yàn)槟阍趶?fù)制到文件之前,通過(guò)? int c; while((c = isr.read())!=-1){ System.out.print((char)c); }給字節(jié)全部讀完了,并打印出來(lái),再次拿isr這個(gè)對(duì)象去read的時(shí)候,是讀取不到字節(jié)了
2017-03-09
你可以將
while((c = isr.read())!=-1){?
System.out.print((char)c); } ??注釋掉
或者放在
while((c=isr.read(buffer,0,buffer.length))!=-1){?
String s = new String(buffer,0,c);?
// System.out.print(s);?
osw.write(buffer,0,c);?
osw.flush();?
} ?后面
就可以成功復(fù)制了