首页 > 学院 > 开发设计 > 正文

【典型例题】复制文件

2019-11-10 19:01:11
字体:
来源:转载
供稿:网友

题目:复制一个文件夹下面的文件,使用InputStream和OutputStream方法;

思路:

1、创建两个对象,将旧被复制的源文件file1和新复制过来的生成文件file2;

2、调用自定义复制方法;

     自定义方法:a)旧被复制文件为空,不存在,不是文件;

                           b)新复制文件夹不存在,创建该路径;

                           c)开始一个字节一个字节顺序复制传输(系统自己保证顺序传输)

3、加入程序运行时间;

package A_January;import java.io.*;/** * Created by Administrator on 17-1-19. */public class FileTest2 {    public static void main(String[] args) {        //实现一个文件的拷贝;        //将源文件f1复制到f2目录中;        //文件存放目录,真假不知;这里仅仅是路径(目录);        // 存在不存在不一定,也有人被中介要求填写信息,随口编了一个假的地址;        File file1=new File("E://玉置浩二 - 上を向いて歩こう.mp3");        File file2=new File("E://电影//☆中国电影//玉置浩二 - 上を向いて歩こう.mp3");//第2个文件路径;        long startTime=System.currentTimeMillis();//程序开始时间,用以记录程序开始时间(按照毫秒计)        copyFile(file1,file2);//调用下文中,自定义的copyFile方法;        long endTime=System.currentTimeMillis();//程序结束时间;用以记录程序结束时间;        System.out.PRintln(endTime-startTime);//输出时间差,计算程序运行时间;    }//自定义copy复制方法;public static void copyFile(File fileFrom,File fileTo){    //如果源文件为空||不存在||不是文件夹;     if (fileFrom==null||!fileFrom.exists()||!fileFrom.isFile()){         System.out.println("拷贝失败");         return;//结束,跳出,返回;     }     File parent=new File(fileTo.getParent());//定义父目录     // 如果父文件夹不存在;     if (!parent.exists()){         //创建该文件夹;         parent.mkdirs();     }     FileInputStream fis=null;     FileOutputStream fos=null;     try {         //为文件类型分配内存空间;         fis=new FileInputStream(fileFrom);         fos=new FileOutputStream(fileTo);         //读取  fis.read();//读取一个字节         //全真循环;         while(true){             //系统从输入流读取数据,然后向输出流写出数据;             int data=fis.read();             fos.write(data);             //当读取的字节为-1时候,(系统默认-1是输入流和输出流的结尾),程序结束,停止全真循环;             if(data==-1){                 break;             }         }         System.out.println("拷贝成功");     } catch (FileNotFoundException e) {         e.printStackTrace();     } catch (IOException e) {         e.printStackTrace();     }    }}复制成功后:

如果你在运行该软件,再次复制,会报错:


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表