1.File类的概述和构造方法
File类的概述
•
文件和目录路径名的抽象表示形式
File构造方法
•public File(String pathname) 根据一个路径得到一个File对象
例
File file=new file("e:\\demo\\a.txt")
•public File(String parent,String child) 根据一个目录和一个子文件得到一个File对象
例
File file=new File("E:\\demo
","a.txt")
•public File(File parent,String child) 根据一个File对象和一个子文件得到一个File对象
例
File file=new File("e:\\demo");
File file1=new File(file,"a.txt");
2.File类的成员方法
创建功能
public boolean createNewFile() 创建文件 如果存在就不创建
例
File file=new File("E:\\demo\\a.txt");
file.createNewFile();
public boolean mkdir(); 创建文件夹
例
File file=new File("e:\\demo");
file.mkdir();
public boolean mkdirs(); 创建文件夹 如果父文件夹不存在 会帮忙创建
File file =new File("e:\\a\\b\\c\\d");
file.mkdirs(); a,b,c,d 都会帮你创建
File file =new File("E:\\a\\a.txt"); 这里的a.txt是一个文件夹了 不是一个文件
file.mkdirs();
如创建文件或文件夹时忘记写盘符 默认是在项目路径下
删除功能
public boolean delete(); 删除目录时,如果目录有其他文件或目录 不能删除
File file =new File("e:\\a\\b\\c\\d");
file.delete(); 如果d盘下有内容 不会删除
注意:删除不走回收站
重命名功能
public boolean renameTo(File dest);
File file =new File ("E:\\a");
File file1=new File("E:\\b");
如果路径相同就改名 否则就是改名并剪切
判断功能
•
public boolean isDirectory() 判断是否是目录
•public boolean isFile()判断是否是文件
•public booleanexists()判断是否存在
•public boolean canRead()判断是否可读
•public boolean canWrite()判断是否可写
•public boolean isHidden()判断是否隐藏
获取功能
基本
•public String getAbsolutePath()获取绝对路劲
•public String getPath()获取相对路径
•public String getName()获取名称
•public long length()获取长度(字节数)
•public long lastModified()获取最后一次修改的时间(毫秒值)
高级
•
public String[] list()获取指定目录下所有文件或文件夹的名称数组
例
File file=new File("D;\\");
String[] s=file.list();
for(String ss:s){
Syso(ss);
}
•
public File[] listFiles()获取指定目录下的所有文件或文件夹的File数组
例
File file=new File("D;\\");
File[] f=file.listFiles();
for(File ff:f){
//获取到的File可以操作File的功能
Syso(ff);
}
文件名称过滤器
1、public String[] list(FilenameFilter filter);
例
File file=new File("D:\\Pictures");
String [] s=file.list(new FilenameFilter() {
//"D:\\Pictures"下的文件并以.jpg结尾的文件
@Override
public boolean accept(File dir, String name) {
return new File(dir,name).isFile() && name.endsWith(".jpg");
}
});
for(String ss:s){
System.out.println(ss);
}
2、public File[] listFiles(FilenameFilter filter);