用FileInputStream和FileOutputStream拷贝文件

来源:互联网 发布:枪林弹雨开挂软件 编辑:程序博客网 时间:2024/05/22 07:47
在E:\JavaIO中新建abc.txt文件,并在里面写上一些文字。现在要做的是,在Eclipse里面用FileInputStream和

FileOutputStream的read()和write()方法,实现,abc.txt文件的拷贝新建IOUitl.java,代码如下:

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;public class IOUitl {public static void copyfile(File src,File des)throws IOException{if(!src.exists()){throw new IllegalArgumentException(src+"原文件不存在");}if(!src.isFile()){throw new IllegalArgumentException(src+"不是文件");}FileInputStream in = new FileInputStream(src);//文件不存在直接创建,文件存在删除后创建FileOutputStream out = new FileOutputStream(des);byte[] buf = new byte[8*1024];int b;//in.read(buf,0,buf.length)将读的数据存在buf数组,从0开始到数组长度while((b=in.read(buf,0,buf.length))!=-1){out.write(buf, 0, b);out.flush();}in.close();}}

再定义一个Test.java的类进行测试:

import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.util.ArrayList;import java.util.Arrays;public class Test2  {public static void main(String[] args){File src = new File("E:\\JavaIO\\abc.txt");File des = new File("E:\\JavaIO\\abc1.txt");    try {IOUitl.copyfile(src, des);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

运行结果,打开文件目录,即可看到abc1.txt文件,里面内容和abc.txt一样,实现拷贝




0 0