zoukankan      html  css  js  c++  java
  • java复制文件 转

    package test.jing.java;
    
    import java.io.*;
    
    public class MovePictures {
        /***
         * 复制单个文件*
         * @param oldPath
         *            String 原文件路径 如:c:/fqf.txt*
         * @param newPath
         *            String 复制后路径 如:f:/fqf.txt*
         *            @return boolean
         */
    
        public void copyFile(String oldPath, String newPath) {
            try {
                int bytesum = 0;
                int byteread = 0;
                File oldfile = new File(oldPath);
                if (oldfile.exists()) { // 文件存在时
                    InputStream inStream = new FileInputStream(oldPath); // 读入原文件
                    FileOutputStream fs = new FileOutputStream(newPath);
                    byte[] buffer = new byte[1444];
                    int length;
                    while ((byteread = inStream.read(buffer)) != -1) {
                        bytesum += byteread; // 字节数 文件大小
                        System.out.println(bytesum);
                        fs.write(buffer, 0, byteread);
                    }
                    inStream.close();
                }
            } catch (Exception e) {
                System.out.println("复制单个文件操作出错");
                e.printStackTrace();
    
            }
    
        }
    
        /**
         * 复制整个文件夹内容
         * 
         * @param oldPath
         *            String 原文件路径 如:c:/fqf
         * @param newPath
         *            String 复制后路径 如:f:/fqf/ff
         * @return boolean
         */
        public void copyFolder(String oldPath, String newPath) {
    
            try {
                (new File(newPath)).mkdirs(); // 如果文件夹不存在 则建立新文件夹
                File a = new File(oldPath);
                String[] file = a.list();
                File temp = null;
                for (int i = 0; i < file.length; i++) {
                    if (oldPath.endsWith(File.separator)) {
                        temp = new File(oldPath + file[i]);
                    } else {
                        temp = new File(oldPath + File.separator + file[i]);
                    }
    
                    if (temp.isFile()) {
                        FileInputStream input = new FileInputStream(temp);
                        FileOutputStream output = new FileOutputStream(newPath + "/" + (temp.getName()).toString());
                        byte[] b = new byte[1024 * 5];
                        int len;
                        while ((len = input.read(b)) != -1) {
                            output.write(b, 0, len);
                        }
                        output.flush();
                        output.close();
                        input.close();
                    }
                    if (temp.isDirectory()) {// 如果是子文件夹
                        copyFolder(oldPath + "/" + file[i], newPath + "/" + file[i]);
                    }
                }
            } catch (Exception e) {
                System.out.println("复制整个文件夹内容操作出错");
                e.printStackTrace();
    
            }
    
        }
    
        public static void main(String[] args) {
            MovePictures movePictures = new MovePictures();
            String oldPath = "D:/pictureWorkSpace/oldFolder/122.txt";
            String newPath = "D:/pictureWorkSpace/newFolder/122.txt";
            movePictures.copyFile(oldPath, newPath);
        }
    }

    参考文章 java从一个目录拷贝文件到另一个目录下

  • 相关阅读:
    Scrapy中的POST请求发送和递归爬取
    爬虫之Scrapy框架
    linux下的python3,virtualenv,Mysql,nginx,redis安装配置
    Linu之linux系统基础优化和基本命令
    Linux之linux基础命令2
    Linux之linux基础命令
    Linux之linux入门
    Linux之服务器介绍
    Django之content_type
    Vue.js之路由系统
  • 原文地址:https://www.cnblogs.com/time-on/p/8098788.html
Copyright © 2011-2022 走看看