此类仅包含对文件进行操作的静态方法, 目录或其他类型的文件。
在大多数情况下,此处定义的方法将委托给关联的 文件系统提供程序来执行文件操作
File.pathSeparator:获取当前环境的路径分隔符
import java.io.File;
import java.io.IOException;
import java.util.Date;
public class FileDemo1 {
public static void main(String[] args) throws IOException {
String path = "C:\\Users\\Syf200208161018\\Desktop\\";
//分隔符
System.out.println(File.separator);
System.out.println(File.pathSeparator);
//创建文件
String name = "newFile.txt";
File file = new File(path+name);
boolean newFile = file.createNewFile();
System.out.println(newFile);
//判断文件是否存在
boolean exists = file.exists();
System.out.println(exists);
//获取文件信息
System.out.println(file.isFile());
System.out.println(file.isHidden());
System.out.println(file.getAbsolutePath());
System.out.println(file.getParentFile());
System.out.println(file.getName());
System.out.println(file.getPath());
System.out.println(file.getParent());
System.out.println(file.getCanonicalPath());
System.out.println(file.getCanonicalFile());
System.out.println(file.getTotalSpace());
System.out.println(file.getFreeSpace());
System.out.println(file.getUsableSpace());
System.out.println(new Date(file.lastModified()));
System.out.println(file.canRead());
System.out.println(file.canWrite());
System.out.println(file.canExecute());
//删除文件
boolean delete = file.delete();
System.out.println(delete);
}
}
import java.io.File;
public class FileDemo2 {
public static void main(String[] args) {
String path = "C:\\Users\\Syf200208161018\\Desktop\\";
String name = "fileTest";
File file = new File(path + name);
boolean mkdirs = file.mkdirs();
// file.mkdirs()
System.out.println(mkdirs);
System.out.println(file.isDirectory());
file.deleteOnExit();
//遍历文件夹
String[] list = file.list();
for (String s : list) {
System.out.println(s);
}
}
}
文件过滤器
当调用File类中的listFiles()方法时,支持传入FileFilter接口接口实现类,对获取文件进行过滤,只有满足条件的文件的才可出现在listFiles()的返回值中。
import java.io.File;
import java.io.FileFilter;
public class FileFilterDemo1 {
public static void main(String[] args) {
String path = "C:\\Users\\Syf200208161018\\Desktop\\";
String name = "fileTest";
File file = new File(path + name);
File[] files = file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.getName().endsWith("png")) {
System.out.println(pathname.getName());
return true;
}
return false;
}
});
for (File file1 : files) {
System.out.println(file1.getName());
}
}
}