1. File(String pathname)
注意:这里pathname不对路径做任何判断,这个构造方式只是将字符串封装成File对象
2.File(File parent,String child)
parent表示父目录
child表示子文件或者子文件夹
绝对路径:带盘符的,全路径 D:/aaa/bbb/ccc
相对路径 : 相对于项目的路径
获取绝对路径:
getAbsoluteFile()
getAbsolutePath() 如果是相对路径也会自动转为绝对路径
getName() 获取路径的最后一个文件或者文件夹的名字
getParent()返回父目录名
getparentFile()
返回null的几种情况:
1.指定路径没有内容
2.只有根路径
3.只写一个文件或文件夹
getPath() 将File类型转换String类型
无论在指定路径中书写什么内容,那么getPath都会获取内容
getTotalSpace() 获取总空间大小
getFreeSpace() 获取剩余空间大小
File.listRoots() 获取根目录列表
lastModified() 获取最后修改时间
createNewFile() 创建文件和文件夹
注意:如果父路径存在,子文件不存在,创建文件。 子文件存在,不创建,如果指定的父路径不存在,抛异常
mkdir() 创建一个文件夹
mkdirs() 创建多个文件夹
delete() 删除,不走回收站,要求文件夹一定是空的,也就是文件夹里边不能有子文件
isFile() 判断是否为文件
isDirectory() 判断是否为文件夹
exists() 判断是否存在
isHidden判断是否为隐藏
listFile() 获取路径下所有文件列表
注意: 当获取指定目录没有访问权限时,获取到的是一个null
获取指定路径下所有图片包括子文件夹:
public static void getImg(String path){
File f = new File(path);
if (!f.exists()) {
throw new RuntimeException("给顶目录不存在");
}
File[] files = f.listFiles();
if (files == null) return;
for (File file : files) {
if (file.isDirectory()) {
getImg(path+"\\"+file.getName());
}else {
if (file.getName().endsWith(".PNG")|| file.getName().endsWith(".jpg")) {
System.out.println(file.getAbsolutePath());
}
}
}
文件修改名字:
File oldF = new File("F:\\aaa\\db.PNG" );
File newF = new File(new File("F:\\aaa" ), "ccc.PNG" );
System. out.println( oldF .renameTo(newF));
文件名过滤器
listFiles(FilenameFiler filter)
accept(File dir, String name)
dir: 当前name表示的文件或文件夹放到父目录
name: 表示子文件或子文件夹名
listFiles(FileFilter filter)
accept(File pathname)
pathname:子文件或子文件夹File对象
例子:查找图片
File f = new File("F:\\aaa");
File[] files = f.listFiles(new FileFilter(){
public boolean accept(File pathname){
return pathname.isFile && pathname.getName().endWith(".jpg");
}
});
网友评论