Java创建文件夹Java复制文件复制文件夹

简介: Java创建文件夹Java复制文件复制文件夹
package com.ruoyi.modules.monitor;
 
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.UUID;
 
/**
 * @author liu pei
 * @version 1.0.0
 * @ClassName Test.java
 * @Description TODO
 * @createTime 2023年11月20日 22:03:00
 */
public class Test {
 
    public static void main(String[] args) {
 
// 需要复制的File
        File srcFile = new File("a");
// 复制目的地File
        File destFile = new File("b");
        if(!destFile.exists()){
            destFile.mkdirs();
        }
// 复制文件夹的功能
        try {
            copyFolder(srcFile, destFile);
           System.out.println("复制文件成功");
        } catch (IOException e) {
            e.printStackTrace();
            throw new RuntimeException("复制文件失败");
        }
    }
 
    /**
     * 复制文件夹
     * @param srcFile
     * @param destFile
     * @throws IOException
     */
    public static void copyFolder(File srcFile, File destFile) throws IOException {
// 判断该File是文件夹还是文件
        if (srcFile.isDirectory()) {
// 文件夹
            File newFolder = new File(destFile, srcFile.getName());
            newFolder.mkdir();
 
// 获取该File对象下的所有文件或者文件夹File对象
            File[] fileArray = srcFile.listFiles();
            for (File file : fileArray) {
                copyFolder(file, newFolder);
            }
        } else {
// 文件
            File newFile = new File(destFile, srcFile.getName());
            copyFile(srcFile, newFile);
        }
    }
 
    /**
     * 复制文件
     * @param srcFile   需要复制的File
     * @param newFile   复制目的地File
     * @throws IOException
     */
    private static void copyFile(File srcFile, File newFile) throws IOException {
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFile));
 
        byte[] bys = new byte[1024];
        int len = 0;
        while ((len = bis.read(bys)) != -1) {
            bos.write(bys, 0, len);
        }
 
        bos.close();
        bis.close();
    }
 
    /**
     * 创建多级文件夹
     * @param f
     * @throws IOException
     */
    public static void createFile(File f) throws IOException{
        for(int i=0;i<5;i++){
            if(f.exists()){
                File file3=new File(f, UUID.randomUUID().toString());
                file3.createNewFile();
                System.out.println(file3.getName()+" 目录已创建");
            }
        }
    }
}


相关文章
|
2月前
|
存储 Java
Java扫描某个文件夹且要保证不重复扫描,如何实现?
【10月更文挑战第18天】Java扫描某个文件夹且要保证不重复扫描,如何实现?
70 3
|
13天前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
76 34
|
2月前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
67 2
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
|
2月前
|
监控 Java
Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
【10月更文挑战第13天】Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
146 1
|
4月前
|
监控 Java
Java文件夹复制解决方案:优化大文件与大量数据的处理
Java中复制文件夹及其内容,尤其是当处理大文件或文件夹(如几个GB)时,需要特别注意内存使用和性能优化。以下是一个详细的指导,包括如何避免内存溢出异常,并确保复制过程的高效性。
|
5月前
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
Java编译器注解运行和自动生成代码问题之Maven编译时设置生成的源码的文件夹路径问题如何解决
|
6月前
|
Java
Java项目的文件夹命名规范是什么
【6月更文挑战第19天】Java项目的文件夹命名规范是什么
613 2
|
6月前
|
Java
java使用Files.walkFileTree统计文件夹下的文件夹和文件数量
java使用Files.walkFileTree统计文件夹下的文件夹和文件数量
|
6月前
|
Java
Java将指定文件/文件夹压缩成zip、rar压缩文件--解決中文乱码
Java将指定文件/文件夹压缩成zip、rar压缩文件--解決中文乱码
237 0
|
6月前
|
Java
使用java字节流复制文件
使用java字节流复制文件
下一篇
DataWorks