首页 > 其他分享 >文件操作

文件操作

时间:2022-10-24 20:15:40浏览次数:42  
标签:文件 return file fileName File 操作 import String

public static String fileExtendName(String fileName) {
    if (StringUtils.isBlank(fileName)) {
        return null;
    }
    if (!fileName.contains(".")) {
        return null;
    }
    if (fileName.endsWith(".")) {
        return null;
    }
    int index = fileName.lastIndexOf(".");
    return fileName.substring(index + 1);
}

public static String simpleFileName(String fileName) {
    if (StringUtils.isBlank(fileName)) {
        return null;
    }
    if (!fileName.contains(".")) {
        return null;
    }
    if (fileName.endsWith(".")) {
        return null;
    }
    return fileName.substring(0, fileName.lastIndexOf("."));
}
import com.alibaba.fastjson.JSON;import lombok.extern.slf4j.Slf4j;
import okhttp3.Response;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import java.io.File;
import java.io.IOException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.*;

/**
 * @Title: FileUtil
 * @Description: TODO
 * @Author: [email protected]
 * @Date: 2021-03-19 15:15:42
 */
@Slf4j
@Component
public class FileUtil extends FileUtils {


    /**
     * <功能描述:> 获取指定文件夹下的文件,支持可配置是否扫描其子文件夹下的文件
     *
     */
    public static List<File> getFileList(File file, boolean containsChildDir) {
        List<File> list = new ArrayList<>();
        if (!file.isDirectory()) {
            list.add(file);
            return list;
        }
        File[] childFileList = file.listFiles();
        for (File childFile : childFileList) {
            if (!childFile.isDirectory()) {
                list.add(childFile);
                continue;
            }
            if (containsChildDir) {
                list.addAll(getFileList(childFile, containsChildDir));
            }
        }
        return list;
    }

    /**
     * <功能描述:> 远程文件下载到本地
     */
    public static void downRemoteFile2Local(String remoteUrl,String localPath){
        String filePath = localPath.substring(0,localPath.lastIndexOf("/")+1);
        File file = new File(filePath);
        if(!file.exists()){
            file.mkdirs();
        }
        try (InputStream in = new URL(remoteUrl).openConnection().getInputStream();
             FileOutputStream out = new FileOutputStream(new File(localPath))) {
            IOUtils.copy(in,out);
        } catch (Exception e) {
            log.error("远程文件下载到本地失败,远程地址:{},失败原因:{}",remoteUrl,e);
            throw new RuntimeException("远程文件下载到本地失败",e);
        }
    }


    public static boolean deleteAllDirAndFile(String delpath) {
        try {
            File file = new File(delpath);
            if (!file.exists()) {
                return true;
            }
            if (!file.isDirectory()) {
                boolean delFlag = file.delete();
                if (!delFlag) {
                    log.warn("文件删除失败!");
                }
            } else if (file.isDirectory()) {
                String[] filelist = file.list();
                for (int i = 0; i < filelist.length; i++) {
                    File delfile = new File(delpath + File.separator + filelist[i]);
                    if (!delfile.isDirectory()) {
                        boolean delFlag = delfile.delete();
                        if (!delFlag) {
                            log.warn("文件删除失败!");
                        }
                    } else if (delfile.isDirectory()) {
                        deleteAllDirAndFile(delpath + File.separator + filelist[i]);
                    }
                }
                boolean dirDelFlag = file.delete();
                if (!dirDelFlag) {
                    log.warn("目录删除失败!");
                }
            }
            return true;
        } catch (Exception e) {
            log.error(String.format("删除[%s]路径下的文件及文件夹失败!", delpath), e);
        }
        return false;
    }
}

 

标签:文件,return,file,fileName,File,操作,import,String
From: https://www.cnblogs.com/JYB2021/p/16822601.html

相关文章

  • 打包操作
    1.打包为Jar配置操作为cleancompilepackage-Dmaven.test.skip=truedebug操作在target目录下2.打包为war包2.1pom修改添加packaging<groupId>org.example</gr......
  • python字符串操作方法
    1、格式化1)%号#1、格式的字符串(即%s)与被格式化的字符串(即传入的值)必须按照位置一一对应#当需格式化的字符串过多时,位置极容易搞混print('%sasked%stodosomethin......
  • 自制操作系统教程(持续更新)
    -1.写在开始之前虽然网上此类教程云集,虽然此类书籍很多,但是!这些书籍有很多地方讲得不够细致(主要是代码有缺漏),有些对代码的更改甚至在书中了无痕迹。而这才是我开启这篇......
  • Pycharm配置默认文件头注释和函数注释参数
    笔者使用Pycharm编辑器需要默认新增文件头的注释,再介绍Pycharm的小技巧,希望能对大家有所帮助!!!1.自动添加文件头注释文件头模板设置路径:Settings->Editor->FileandCodeT......
  • UNIXwen文件系统与Windows——FAT16文件系统
    UNIXwen文件系统FCB=目录项+i节点目录项:文件名+i节点号目录文件由目录项构成i节点:描述文件的相关信息每个文件由一个目录项、一个i节点和若干磁盘块构成Windows——FAT16文......
  • HDU 4585(Shaolin-Treap的lower_bound&upper_bound操作)
    题意:有n个数,每个数进来时求出与它与它最接近的数的编号(多个答案选数小的)模板测试#include<iostream>#include<cmath>#include<algorithm>#include<cstdio>#include<cst......
  • 【工作日常】检查各种文件格式
    我们经常会有检查各种文件格式的需求,如检查.png文件是否为真的.png数据如果只是简单的检查文件扩展名,这是很不合理的,毕竟可以直接修改文件的扩展名称那么,更加合理的做法......
  • csv文件转换成excel(csv文件转换成excel逗号)
    docx文件-docx文件怎么转换成CSV(*?docx文件怎么转换成CSV(后缀名更改!Excel表格转换成CSV格式文档,不成功我想用Excel表格转可能是你自己建的csv文件标题或格式不正确。你可以......
  • csv文件(csv文件的特征)
    如何打开csv文件?我们可以使用记事本或者写字板以及officeexcel2007都可以打开此格式文件,使用officeexcel办公软件打开,最不建议使用win自带的记事本查看,虽然可以看见里面的......
  • csv是什么文件(ofd是什么文件)
    csv是什么文件?报税时个人所得税上传生成此类文件"CSV"是逗号分隔文件(CommaSeparatedValues)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据......