亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

JAVA字符流為什么沒有把文件復制?

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();
}
}


正在回答

2 回答

因為你在復制到文件之前,通過? int c; while((c = isr.read())!=-1){ System.out.print((char)c); }給字節全部讀完了,并打印出來,再次拿isr這個對象去read的時候,是讀取不到字節了

1 回復 有任何疑惑可以回復我~

你可以將

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();?

} ?后面

就可以成功復制了



0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

JAVA字符流為什么沒有把文件復制?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號