File类文件和目录路径名的抽象表示形式。
l 用于将文件或文件夹封装成对象
l 方便对文件与文件夹的属性信息进行操作
l File对象可以作为参数传递给流的构造函数
问:那么File类和文件流类有何区别呢?
首先:File类能操作文件夹。
其次:File能查看文件的属性(如,可读,可写,可执行)。
而流只能操作数据。
创建File对象:
将a.txt封装成File对象,可以讲已有的和未出现的文件或者文件夹封装成对象。
File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(File parent, String child)//好处,目录不变,而文件可变,目录变,文件不变,
File(String parent, String child)//好处,目录不变,而文件可变,目录变,文件不变,
一、File的常用方法:
创 建 | ●创建文件,及文件夹 boolean createNewFile() |-不存在,创建,返回true |-存在,不创建,返回false static File createTempFile(String prefix, String suffix)|创建临时文件 ●创建目录: boolean mkdir():创建一级目录 boolean mkdirs():创建多级目录 ----------------------------------------- staic String separator与系统有关的默认名称分隔符("C:"+File.Separator+" |
删 除 | boolean delete () 删除此抽象路径名表示的文件或目录 |--存在,删除,返回true |--不存在,不删,返回false void deleteOnExit()在虚拟机终止时,请求删除此抽象路径名表示的文件或目录 |
判 断 | █boolean exists() 测试此抽象路径名表示的文件或目录是否存在。 boolean canExcute() 是否可执行 boolean canRead() boolean canWrite() boolean isDirectory() boolean isFile() boolean isHidden() boolean isAbsolute() |
获 取 信 息 | String getName() 返回文件或目录的名称 String getPath() 返回路径 字符串 getParent() 返回父目录的字符串 |--f包装的对象如果是相对的(a.txt),返回null |--f包装的对象如果是有上层目录的(bb \\a.txt) 返回父目录(bb) getAbsolutePath() 返回据对路径的字符串 getAbsoluteFile() 返回绝对路径名形式 long lastModified() 最后一次被修改的时间 long length() 返回文件长度 boolean renameTo() 重新命名此抽象路径名表示的文件 |--同目录下,改名 |--不同目录下,剪切复制+改名 int compareTo 按字母顺序比较两个抽象路径名 例如:C:\Users\ae.txt和C:\Users\Administrator\Desktop 返回:1(不区分大小写,到e和d的时候开始不同,所以e-d=1) |
static File[] listRoots()返回File数组 | |
列出可用的文件系统根目录:C:,D: | |
区别一下方法 | |
String [] list() | File[] listFiles() |
返回此(抽象路径)名所表示的目录中的文件和目录的名称,所组成的字符串数组 | 返回此(抽象路径)名所表示的目录中的文件和目录的名称,所组成的File封装的数组 |
只是一个字符串 | 好处:可以分别调用File的各种方法, 得到文件的属性 |
1,返回String数组 2,必须是目录存在,目录为空,数组为空 返回空串 3,文件可能发生异常 | 1,返回File数组 2,必须是目录存在,目录为空,数组为空 返回空串 3,文件可能发生异常 |
String[] list(FilenameFilter fiter) | File[] listFiles(FilenameFilter fiter) |
用于实现过滤文件,得到的是字符串,同上 | 得到的是File封装的数组,好处同上 |
File dir =new File("C:\\Users"); String [] arr=dir.list( new FilenameFilter(){ public boolean accept(File dir,String name){ return name.endsWith(".txt");//找到txt文件 } }); | 使用同左 |