File的基本用法
构造方法:
- File(String pathname):根据一个路径得到File对象
- File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
- File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象
创建功能:
- public boolean createNewFile():
- 如 newFile(“G:\javaprg\demo\a.txt”).createNewFile());
创建文件,即不仅可以新建路径,还可以新建txt文件。如果存在该文件,返回false,如果不存在新建,并返回true - 使用createNewFile()需要在方法中throws IOException,才能正常使用
- 如 newFile(“G:\javaprg\demo\a.txt”).createNewFile());
- public boolean mkdir():
- 创建文件夹 如果存在这样的文件夹,就不创建了,但mkdir()只会建立一级的文件夹,new File(“G:\javaprg\demo\aaa\bbb”);则不会建立任何目录, 因为找不到G:\javaprg\demo\aaa\bbb目录, 结果返回false
- public boolean mkdirs():mkdirs()
- 可以建立多级文件夹, mkdir()只会建立一级的文件夹, 如下:
new File(“G:\javaprg\demo\aaa\bbb”);执行后, 会建立G:\javaprg\demo\aaa\bbb四级目录
删除功能:
- public boolean delete()
- 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹
- Java中的删除不走回收站
注意:如果创建或删除文件或文件夹时,如果忘记写盘符路径,则默认在项目路径下
重命名功能:
- public boolean renameTo(File dest)
- 如果路径名相同,就是改名。
- 如果路径名不同,就是改名并剪切
判断功能:
- public boolean isDirectory():
- 判断是否是目录
- public boolean isFile():
- 判断是否是文件
- public boolean exists():
- 判断是否存在
- public boolean canRead():
- 判断是否可读
- public boolean canWrite():
- 判断是否可写
- public boolean isHidden():
- 判断是否隐藏
获取功能
- public String getAbsolutePath():
- 获取绝对路径
- public String getPath():
- 获取相对路径
- public String getName():
- 获取名称
- public long length():
- 获取长度字节数
- public long lastModified():
- 获取最后一次的修改时间,毫秒值;返回的是文件最后一次被修改的时间的 long 值,用该时间与历元(1970 年 1 月 1 日,00:00:00 GMT)的时间差来计算此值(以毫秒为单位)。如果该文件不存在,或是发生 I/O 错误,则返回 0L
- public String[] list():
- 获取指定目录下的所有文件或者文件夹的名称数组
- public File[] listFiles():
- 获取指定目录下的所有文件或者文件夹的File数组
通过增强型for循环来遍历获得指定目录下的文件
File file = new File("G:\\javaprg\\");
String[] strArray = file.list();
for(String s :strarray)
{
System.out.println(s);
}
System.out.println("------------");
File[] filesArray = file.listFiles();
for(File f:filesArray)
System.out.println(f.getName());
文件名称过滤器
- public String[] list(FilenameFilter filter)
- public File[] listFiles(FilenameFilter filter)
实现实例,将目录下的jpg文件打印出来
File file = new File("G:\\javaprg\\");
String[] strArray = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
//return false;
return new File(dir,name).isFile()&& name.endsWith(".jpg");
}
});
// 遍历
for (String s : strArray) {
System.out.println(s);
}