• java文件操作类


    java fileutil
    import java.io.File;
    import java.util.ArrayList;

    public class FileUtil {

    /**
    * 得到目录下的文件列表
    *
    @param strPath 目录
    *
    @return 文件列表
    */
    public static ArrayList getFileList(String strPath) {
    ArrayList filelist
    =null;
    return getFileList(strPath,filelist);
    }

    private static ArrayList getFileList(String strPath,ArrayList filelist) {
    if(filelist==null){
    filelist
    = new ArrayList();
    }

    File dir
    = new File(strPath);
    File[] files
    = dir.listFiles();
    if (files == null) return null;
    for (int i = 0; i < files.length; i++) {
    if (files[i].isDirectory()) {
    getFileList(files[i].getAbsolutePath(),filelist);
    }
    else {
    String strFileName
    = files[i].getAbsolutePath().toLowerCase();
    //System.out.println("---"+strFileName);
    filelist.add(files[i].getAbsolutePath());
    }
    }
    return filelist;
    }

    /**
    * 得到目录下的指定类型的文件列表
    *
    @param strPath 目录
    *
    @param suffix 文件后缀 如"zip"
    *
    @return 文件列表
    */
    public static ArrayList getFileList(String strPath,String suffix) {
    ArrayList filelist
    =null;
    return getFileList(strPath,suffix,filelist);
    }

    private static ArrayList getFileList(String strPath,String suffix,ArrayList filelist) {
    if(filelist==null){
    filelist
    = new ArrayList();
    }

    File dir
    = new File(strPath);
    File[] files
    = dir.listFiles();
    if (files == null) return null;
    for (int i = 0; i < files.length; i++) {
    if (files[i].isDirectory()) {
    getFileList(files[i].getAbsolutePath(),suffix,filelist);
    }
    else {
    String strFileName
    = files[i].getAbsolutePath().toLowerCase();
    if(FileUtil.getFileSuffix(strFileName).toLowerCase().equals(suffix)){
    filelist.add(files[i].getAbsolutePath());
    }
    }
    }
    return filelist;
    }



    /**
    * 得到文件后缀名
    *
    @param fileName 完整文件名
    *
    @return
    */
    public static String getFileSuffix(String fileName) {
    File f
    =new File(fileName);
    String name
    =f.getName();
    return name.substring(name.lastIndexOf(".")+1);
    }

    /**
    * 得到文件名
    *
    @param fileName 完整文件名
    *
    @return
    */
    public static String getFileName(String fileName) {
    File f
    =new File(fileName);
    return f.getName();
    }

    /**
    * 得到无后缀的文件名
    *
    @param fileName 完整文件名
    *
    @return
    */
    public static String getFileNameWithoutSuffix(String fileName) {
    File f
    =new File(fileName);
    String name
    =f.getName();
    return name.substring(0,name.lastIndexOf("."));
    }

    /**
    * 得到去除文件后缀名后的文件路径,可作为解压后路径
    * 如 in: e:/test.zip out:e:/test
    *
    @param fileName 完整文件名
    *
    @return
    */
    public static String getFilePathWithoutSuffix(String fileName) {
    return fileName.substring(0,fileName.lastIndexOf("."));
    }
    }

  • 相关阅读:
    两个路由器配置静态路由只能单边 ping 通
    CVE202125646:Apache Druid远程命令执行漏洞复现
    批量修改图片的格式
    十大远程控制软件排名
    Splashtop 免费60天 大赠送
    单例设计模式
    蓄水池抽样算法/水塘采样算法
    kafka安装(单机版)
    LeetCode382链表随机节点
    LeetCode398随机数索引
  • 原文地址:https://www.cnblogs.com/myparamita/p/1903505.html
Copyright © 2020-2023  润新知