• 大小: 11KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: Java
  • 标签: 工具类  

资源简介

java实现工具类实现复制、粘贴、剪切、删除文件和文件夹

资源截图

代码片段和文件信息

package com.song.tool;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/*
 * Java实现文件复制、剪切、删除操作
 * 文件指文件或文件夹
 * 文件分割符统一用“//“
 */

@Component
public class FileOperate {
    public static final Logger logger=LoggerFactory.getLogger(FileOperate.class);

    /**
     * 复制文件或文件夹
     *
     * @param srcPath
     * @param destDir
     *            目标文件所在的目录
     * @return
     */
    public  boolean copyGeneralFile(String srcPath String destDir) {
        boolean flag = false;
        File file = new File(srcPath);
        if (!file.exists()) {
            logger.info(“源文件或源文件夹不存在!“);
            return false;
        }
        if (file.isFile()) { // 源文件
            logger.info(“下面进行文件复制!“);
            flag = copyFile(srcPath destDir);

        } else if (file.isDirectory()) {
            logger.info(“下面进行文件夹中的文件复制!“);
            flag = copyFiles(srcPathdestDir);
        }
        return flag;
    }

    /**
     * 复制文件夹中文件到指定目录
     * @param srcPath  源文件目录
     * @param destDir 目标文件目录
     * @return
     */
    public boolean copyFiles(String srcPathString destDir){
        boolean flag = false;
        File DirFile=new File(srcPath);
        if (DirFile.isDirectory()){
            File[] filesList=DirFile.listFiles();
            for (File srcFile:filesList){
                if (!srcFile.exists()) { // 源文件不存在
                    logger.info(“源文件不存在“);
                    return false;
                }
                // 获取待复制文件的文件名
                String path=srcFile.getAbsolutePath();
                String fileName = path
                        .substring(path.lastIndexOf(“\\“)+1path.length());
                String destPath = destDir+“/“ + fileName;
                if (destPath.equals(srcPath)) { // 源文件路径和目标文件路径重复
                    logger.info(“源文件路径和目标文件路径重复!“);
                    return false;
                }
                File destFile = new File(destPath);
                if (destFile.exists() && destFile.isFile()) { // 该路径下已经有一个同名文件
                    logger.info(“目标目录下已有同名文件!“);
                    return false;
                }
                File destFileDir = new File(destPath);
                try {
                    FileInputStream fis = new FileInputStream(srcPath);
                    FileOutputStream fos = new FileOutputStream(destFile);
                    byte[] buf = new byte[1024];
                    int c;
                    while ((c = fis.read(buf)) != -1) {
                        fos.write(buf 0 c);
                    }
                    fis.close();
                    fos.close();
                    flag = true;
                } catch (IOException e) {
                    //
                    e.printStackTrace();
              

评论

共有 条评论