zoukankan      html  css  js  c++  java
  • java SE :文件基本处理 File、FileFilter、FileNameFilter

    File 

      对目录及文件的创建、重命名、删除、文件列表、判断是否存在

    构造函数

    // 完整的目录或文件路径
    public File(String pathname) 
    
    //父级目录/文件路径+子级目录/路径
    public File(String parent, String child) 
    
    //父级目录/文件对象 + 子级目录/路径
    public File(File parent, String child) 
    
    // URI 对象
    public File(URI uri) 

      
     // File 对象即可代表目录,亦可代表文件
    File file=new File("H:\Java 45");
    
    File file1=new File("H:\Java 45\JDBC\事务.ppt");
    
    
    File file2=new File("H:\Java 45\01-JavaSE知识","day01(计算机基础知识&jdk安装&标识符)");
    System.out.println(file2.exists());
    
    File file3=new File("H:\Java 45\JDBC","代理.ppt");
    System.out.println(file3.exists());
    
    
    File file4=new File(new File("H:\Java 45\01-JavaSE知识"),"day01(计算机基础知识&jdk安装&标识符)");
    System.out.println(file4.exists());
    File file5=new File(new File("H:\Java 45\JDBC"),"代理.ppt");
    System.out.println(file5.exists());
    

     判断文件/目录是否存在

    public boolean exists() 
    

     判断文件/目录

    public boolean isDirectory()
    
    public boolean isFile()
    

     创建文件/目录

    // 创建一个目录
    public boolean mkdir()
    
    // 创建所有目录
    public boolean mkdirs()
    
    // 创建一个文件
    public boolean createNewFile() 
    

     获取目录下所有文件/目录

    public File[] listFiles()
    

      

    重命名文件名

    public boolean renameTo(File dest)
    

      

    // 原文件
    File file1=new File("H:\Intellij IDEA 教程_任小龙\常用快捷键.txt");
    
    // 将原文件名更改为目标文件
    file1.renameTo(new File("H:\Intellij IDEA 教程_任小龙\常用快捷键a.txt"));
    

     

    删除文件/目录 

    public boolean delete() 
    

      

    FileFilter、FileNameFilter :文件/目录过滤

    public class FileFilterTest {
        public static void main(String[] args) {
            File file=new File("H:\Intellij IDEA 教程_任小龙");
            File[] files=file.listFiles(new ExtensionFilter());
            for(int i=0;i<files.length;i++){
                System.out.println(files[i].getAbsolutePath());
            }
        }
    }
    
    // 仅获取为目录  或文件以 .txt 结束文件
    class ExtensionFilter implements FileFilter{
    
        @Override
        public boolean accept(File pathname) {
            if (pathname.isDirectory())
                return  true;
            if (pathname.isFile()){
                if(pathname.getName().indexOf(".txt")>-1)
                    return  true;
            }
            return false;
        }
    }
    

      

    public class FileNameFilterTest  {
        public static void main(String[] args) {
    
            File file=new File("H:\Intellij IDEA 教程_任小龙");
            File[] files=file.listFiles(new ExtenstionNameFilter());
            for(int i=0;i<files.length;i++){
                System.out.println(files[i].getAbsolutePath());
            }
        }
    }
    
    // 该方法难以直接判断目录或文件
    class ExtenstionNameFilter implements FilenameFilter{
    
        @Override
        // 父级目录  name
        public boolean accept(File dir, String name) {
           if (name.lastIndexOf(".txt")>-1)
               return  true;
           return  false;
        }
    }
    

      

  • 相关阅读:
    RocketMQ(三)——————javaAPI (2.发送异步消息)
    RocketMQ(三)——————javaAPI (1.发送同步消息)
    RocketMQ(二)——————消息 message
    RocketMQ(—)——————角色介绍(单体--集群)
    ThreadLocal
    生产者 和 消费者 2
    生产者 和 消费者 1
    bootstrap 数据显示表格 layui 遮罩层
    线程池-实现一个取消选项
    线程池与并行度
  • 原文地址:https://www.cnblogs.com/Lumia1020/p/9812865.html
Copyright © 2011-2022 走看看