您的位置:首页 > 其它

将指定文件夹下文件及子文件夹下的文件复制到同一级目录

2016-01-27 15:18 791 查看
package com.teamsun.img;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

public class LocalhostCopyImg {

    /**

     * 将本地文件夹下面所有文件以及子文件夹下的文件复制到指定目录(一级目录)

     *

     */

    public static void main(String[] args) {

        String url = "E:\\img\\imgs";// 目标目录,图片和子文件夹所在的目录

        String copyUrl = "E:\\img\\copyImg";// 复制目录,需要复制的目录

        File file = new File(url);

        File[] tempList = file.listFiles();

        System.out.println("该目录下对象个数:" + tempList.length);

        for (int i = 0; i < tempList.length; i++) {

            // if (tempList[i].isFile()) {

            // System.out.println("文     件:"+tempList[i]);

            // }

            if (tempList[i].isDirectory()) {

                String fileWork = tempList[i] + "";// 每个子文件夹路径

                String fileWorkName = fileWork.substring(fileWork.lastIndexOf("\\") + 1, fileWork.length());// 最后一个文件夹名称

                System.out.println("文件夹:" + fileWorkName);

                // 读取子文件夹下的文件

                File file2 = new File(fileWork);

                File[] tempList2 = file2.listFiles();//读取文件夹下的文件和子文件夹

                for (int a = 0; a < tempList2.length; a++) {

                    if (tempList2[i].isFile()) {

                        String oldFileUrl = tempList2[a] + "";//文件的绝对路径

                        String fileName = oldFileUrl.substring(oldFileUrl.lastIndexOf("\\")+1, oldFileUrl.length());//获取文件名称

                        String fileSuffix = oldFileUrl.substring(oldFileUrl.lastIndexOf(".")+1, oldFileUrl.length());//获取文件后缀

                        String newFileUrl = copyUrl +"\\"+ fileWorkName+fileName;

                        fileSuffix = fileSuffix.toLowerCase();

                        if("jpg".equals(fileSuffix) || "jpeg".equals(fileSuffix) || "bmp".equals(fileSuffix) || "gif".equals(fileSuffix) || "png".equals(fileSuffix) ){//只复制图片格式的

                            CopyImg(oldFileUrl,newFileUrl);

                            System.out.println("复制成功:" + oldFileUrl+"  <--->  " + newFileUrl);

                        }

                    }

                }

            }

        }

        // String url1= "E:\\img\\imgs\\1.jpg";

        // String url2= "E:\\img\\copyImg\\121.jpg";

        // CopyImg(url1,url2);

    }

    /**

     *

     * @param fileUrl

     * @param CopyFileUrl

     * @return 0:正常,1:目标文件不存在,2出现异常

     */

    public static int CopyImg(String fileUrl, String copyFileUrl) {

        try {

            int bytesum = 0;

            int byteread = 0;

            File file = new File(fileUrl);

            if (file.exists()) {// 如果文件存在则执行下面的

                FileInputStream fileIn = new FileInputStream(fileUrl);// 输入流

                FileOutputStream fileOut = new FileOutputStream(copyFileUrl);// 输出流

                byte[] b = new byte[102400];

                while ((byteread = fileIn.read(b)) != -1) {

                    bytesum += byteread;

//                    System.out.println(bytesum);

                    fileOut.write(b, 0, byteread);

                }

                fileIn.close();

            } else {

                return 1;

            }

        } catch (Exception e) {

            e.printStackTrace();

            return 2;

        }

        return 0;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  class