java 把一个文件夹里图片复制到另一个文件夹里

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 把一个文件夹里图片复制到另一个文件夹里相关的知识,希望对你有一定的参考价值。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Calendar;

public class SendServer {

    private int num = 0;
    
    public void process() {
        
        Calendar calendar = Calendar.getInstance();
        String dir = calendar.get(Calendar.YEAR) + "" + getTimeString(calendar.get(Calendar.MONTH) + "");

        String oldPath = "/img2" + dir;
        String newPath = "/img5" + dir;
        
        try {

            while(true){
                System.out.println("复制 " + oldPath + " 目录开始");
                long t1 = System.currentTimeMillis();
                
                num = 0;
                copyFolder(oldPath, newPath);
                
                long t2 = System.currentTimeMillis();
                System.out.println("复制目录结束,用时:" + (t2-t1) + "ms,共复制:" + num + "文件");
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public void copyFolder(String oldPath, String newPath) {
        
        try {
            File mFile = new File(newPath);
            if(!mFile .exists()){
                (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()) {
                    String fileName = newPath + "/" + (temp.getName()).toString();
                    File testFile = new File(fileName);
                    if (!testFile.exists()) {
                        FileInputStream input = new FileInputStream(temp);
                        FileOutputStream output = new FileOutputStream(fileName);
                        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();
                        num++;
                    }
                }
                if (temp.isDirectory()) {// 如果是子文件夹
                    copyFolder(oldPath + "/" + file[i], newPath + "/" + file[i]);
                }
            }
        } catch (Exception e) {
            System.out.println("复制整个文件夹内容操作出错");
            e.printStackTrace();

        }
    }
    
    private String getTimeString(String time){
        if(time.length()<2){
            return "0" + time;
        }
        else{
            return time;
        }
    }
}

 

以上是关于java 把一个文件夹里图片复制到另一个文件夹里的主要内容,如果未能解决你的问题,请参考以下文章

在电脑上如何把一个文件夹里的东西复制到另一个文件夹?

linux下怎么把一个文件复制到另一个文件夹

Myeclipse怎样把一个项目中的某个文件夹复制到另一个项目中使用?

ubuntu 下怎么把一个文件夹内所有的含有某一类文件的文件夹转移到另一个文件夹

JAVA题目求助,关于文件夹的复制

在电脑上如何把一个文件夹里的东西复制到另一个文件夹