• 150403

    文章

  • 892

    评论

  • 13

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

【面试题】Java通过IO实现文件拷贝


import java.io.*;

/**
 *
 * 文件拷贝案例
 */
public class IoDemo {

    public static void main(String[] args) {
        File oleFile = new File("D:"+File.separator+"test"+File.separator+"123.png");
        File sourceFile = new File("D:"+File.separator+"test"+File.separator+"test.png");
        try {
            System.out.println(copyFile(oleFile , sourceFile));
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("出错了");
        }

    }

    public static long copyFile(File oleFile , File sourceFile) throws IOException {

        if( !oleFile.exists() ){ //文件不存在
            throw new FileNotFoundException("文件没有找到");
        }
        if( !sourceFile.getParentFile().exists()){ // 目标文件夹不存在
            sourceFile.getParentFile().mkdirs();
        }


        long start = System.currentTimeMillis();

        InputStream inputStream = new FileInputStream(oleFile); ;
        OutputStream outputStream = new FileOutputStream(sourceFile) ; ;

        try {
            int len = 0 ;
            byte [] bytes = new byte[1024];
            while ((len = inputStream.read(bytes)) != -1){
                outputStream.write(bytes);
            }
        } finally {
            inputStream.close();
            outputStream.close();
            outputStream.flush();
        }
        long end = System.currentTimeMillis();

        return (end-start);
    }
}

输出:

copy耗时: 1

695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客