需求:使用IO流将一个文件的内容复制到另外一个文件中去
文件"good boy.txt"位于D盘根目录下,要求将此文件的内容复制到c:\myFile.txt中
代码:
import java.io.*;
public classInputAndOutputFile{
public static void main(String[]args){
FileInputStream fis=null;
FileOutPutStream fos=null;
try{ //1.创建输入流对象,负责读取D:/good boy.txt文件
fis=new FileInputStream("D:/good boy.txt");
//2.创建输出流对象
fos=new FileOutputStream("C:/myFile.txt",true);
//3.创建中转站数组,存放每次读取的内容
byte[] words=new byte[1024];
//4.通过循环实现文件读写
inte len=-1;
while((len=fis.read(words))!=-1){
fos.write(words,0,len);
}
//5强制清理缓冲区
fos.flush();
System.out.println("复制完成,请查看文件!");
}catch(FileNotFoundExcepton e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}finally{
//6.关闭流
try{
fis.close();
fos.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
常犯错误出现在while循环写入的地方:
错误代码:
while((fis.read())!=-1){
//错误之处在这里:此时fis.read();已实现第一次读写,所以words中缓存的字符就少了第一位,导致结果错误。
fis.read(words);//读取文件
fos.write(words,0,words.length);//写入文件
}
只为你疑惑解忧,只为给你技能展示,+裙598399936