java File

package cn.sasa.demo1;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

public class IODemo {
    public static void main(String[] args) throws IOException {
        /**
         * File静态成员变量
         * pathSeparator
         * 与系统有关的路径分隔符
         * 
         * separator
         * 与系统有关的默认名称分隔符
         */
        String separator = File.pathSeparator;
        System.out.println(separator);// ;
        
        String parator = File.separator;
        System.out.println(parator);// 
        
        File parent = new File("d:");
        File file = new File(parent, "Sasa1");
        System.out.println(file); //d:Sasa1
        
        File file1 = new File("d:","abc");
        System.out.println(file1); //d:abc
        System.out.println("-----------------------");
        
//        createFileFunc();
//        mkdirFunc();
//        mkdirsFunc();
//        deleteFile();
//        getFileInfo();
//        fileFunc_1();
//        getFileList();
        fileFilter();
    }
    
    /**
     * File 创建文件的功能
     * boolean createNewFile()
     * 创建的文件路径和文件名,在File构造方法中给出
     * 文件已经存在就不再创建
     * @throws IOException 
     */
    static void createFileFunc() throws IOException {
        File file = new File("d:/sasa/test1221.txt");
        boolean b = file.createNewFile();
        System.out.println(b);
    }
    
    /**
     * File 创建目录功能
     * boolean mkdir() 创建文件夹,如果存在,就不创建
     * boolean mkdirs() 创建文件夹,如果父文件夹不存在,就会一起创建出来
     */
    static void mkdirFunc() {
        File file = new File("d:/hihihi");
        boolean b = file.mkdir();
        System.out.println(b);
    }
    
    static void mkdirsFunc() {
        File file = new File("d:/aaa/bbb");
        boolean b = file.mkdirs();
        System.out.println(b);
    }
    
    /**
     * 删除文件
     * boolean delete() 删除文件或文件夹
     * 直接从硬盘中删除,不会到回收站
     */
    static void deleteFile() {
        File file = new File("d:/hihihi");
        boolean b = file.delete();
        System.out.println(b);
    }
    
    /**
     * File类获取功能
     * String getName() 返回文件名或文件夹名
     * long length() 返回文件的字节数
     * 
     * String getAbsolutePath() 获取绝对路径,返回String对象
     * File getAbsoluteFile()  获取绝对路径,返回File对象
     * 
     * String getParent() 获取父路径,返回String
     * File getParentFile() 获取父路径,返回File对象
     */
    static void getFileInfo() {
        File file = new File("d:/aaa");
        String name = file.getName();
        System.out.println(name);
        System.out.println("================");
        
        File file1 = new File("d:/sasa/test1221.txt");
        long fileLength = file1.length();
        System.out.println(fileLength);
        System.out.println("================");
        
        String absPath = file1.getAbsolutePath();
        System.out.println(absPath);
        File absFile = file1.getAbsoluteFile();
        System.out.println(absFile);
        System.out.println("================");
        
        String parentPath = file1.getParent();
        System.out.println(parentPath);
        File parentFile = file1.getParentFile();
        System.out.println(parentFile);
    }
    
    /**
     * File类判断功能
     * boolean exists() 判断File中的路径是否存在
     * boolean isDirectory() 判断是不是文件夹
     * boolean isFile() 判断是不是文件
     */
    static void fileFunc_1() {
        File file = new File("d:/sasa/test1221.txt");
        boolean isExists = file.exists();
        System.out.println(isExists);
        
        boolean isDir = file.isDirectory();
        System.out.println(isDir);
        
        boolean isFile = file.isFile();
        System.out.println(isFile);
    }
    
    /**
     * File 类list
     * String[] list(): 遍历一个目录
     * File[] listFiles():遍历一个目录
     */
    static void getFileList() {
        File file = new File("d:/sasa");
        String[] strFileList = file.list();
        System.out.println(Arrays.toString(strFileList));
        
        System.out.println("================");
        File[] fileList = file.listFiles();
        for(File f : fileList) {
            System.out.println(f.getName());
        }
    }
    
    /**
     * 文件过滤
     * 根据扩展名过滤文件,或者过滤包含某些关键字的文件夹
     * 
     * String[] list(FilenameFilter filter)
     * File[] listFiles(FileFilter filter)
     */
    static void fileFilter() {
        System.out.println("================");
        File file = new File("d:/sasa");
        File[] fileList = file.listFiles(new MyFilter());
        for(var f : fileList) {
            System.out.println(f);
        }
        
    }
}
package cn.sasa.demo1;

import java.io.File;
import java.io.FileFilter;

/**
 * 实现接口 FileFilter 重写 accept 方法
 * @author THTF
 *
 */
public class MyFilter implements FileFilter{

    /**
     * pathname 文件的全路径
     * 对路径进行判断,if .txt true else false
     */
    @Override
    public boolean accept(File pathname) {
        return pathname.getName().endsWith(".txt");
    }

}
原文地址:https://www.cnblogs.com/SasaL/p/10156750.html