Flie
路径分隔符: \ ( 或者 \ \ ) (windows) / (linux,在windows下用java这个貌似也可以,所以推荐 / ) 如果要考虑跨平台:File.separator
一、构造方法
- File(File parent, String child) ==>File(new File(“E:/xp/test”) 相对路径
- File(String parent, String child) ==>File(“E:/xp/test”, “2.jpg”), new File(“2.jpg”)) 相对路径
- File(String pathname)
- File(URI uri)
二、常用方法
1、File类的获取
- getName():文件或目录的名称 String
- getPath():路径 String
- getAbsoluteFile():绝对路径 File
- getAbsolutePath():绝对路径 String
- getParent():父目录,可能为null long
2、判断信息(boolean)
- exists():是否存在
- canWrite():是否可读
- canRead():是否可写
- isFile():是否是一个标准的文件
- isDirectory():是否是一个标准的文件夹
- isAbsolute():是否为绝对路径
3、长度
length():以字节为单位 long
4、创建、删除
- delete():删除文件 boolean
- deleteOnExit():在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。也就是说,程序运行deleteOnExit成功后,File并没有直接删除,而是在虚拟机正常运行结束后才会删除。 boolean
- createNewFile():创建一个不重复的新文件 boolean
- static createTempFile(String prefix, String suffix):在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。 File
- prefix – 前缀字符串定义的文件名;必须至少有三个字符长
- suffix – 后缀字符串定义文件的扩展名;如果为null后缀”.tmp” 将被使用
- static createTempFile(String prefix, String suffix, File directory):在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。 File
5、操作目录
- mkdir():创建文件夹的,如果父目录不存在,返回false boolean
- mkdirs():创建文件夹的,如果父目录不存在,则创建父目录,返回true boolean
- list():返回某个目录下的所有文件和目录的文件名 String[]
- listFiles():返回某个目录下所有文件和目录的绝对路径 File[]
- static listRoots():列出系统所有的根路径。这是一个静态方法,可以直接通过File类来调用。 File[]
三、文件过滤器
这里的FilenameFilter是public interface FilenameFilter实现此接口的类实例可用于过滤器文件名。实现accept(File dir, String name) 方法
public String[] list(FilenameFilter filter)
public File[] listFile(FilenameFilter filter)
//定义类实现文件名称FilenameFilter过滤器
class MyFileFilter implements FilenameFilter{
public boolean accept(File dir, String name) {//(File pathname)
return name.endsWith(".java"); //String name = pathname.getName();
}
}
//测试类
public class FileDemo2 {
public static void main(String[] args) {
//获取扩展名为.java所有文件
//创建File对象
File file = new File("E:\\code\\day11_code");
//获取指定扩展名的文件,由于要对所有文件进行扩展名筛选,因此调用方法需要传递过滤器
File[] files = file.listFiles(new MyFileFilter());
//遍历获取到的所有符合条件的文件
for (File f : files) {
System.out.println(f);
}
}
}