java SE :文件基本处理 File、FileFilter、FileNameFilter

时间:2023-03-10 07:25:55
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()

 java SE :文件基本处理 File、FileFilter、FileNameFilter 

重命名文件名

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

  java SE :文件基本处理 File、FileFilter、FileNameFilter