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;
    }
}

  

猜你喜欢

转载自www.cnblogs.com/Lumia1020/p/9812865.html