1.File类:表示文件和目录路径名的抽象表示形式
(1)构造方法
File(String pathname):根据一个路径得到File对象。
File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
File(File parent, File child):根据一个父File文件和一个子File文件/目录得到File对象
(2)功能方法
A:创建功能:
public boolean createNewFile():创建文件,如果存在该文件,则不创建并且返回false,如果创建成功返回true;如果父目录不存在,则创建失败返回false。
public boolean mkdir():创建文件夹,如果存在该文件夹,则不创建并且返回false,如果创建成功返回true;如果父目录不存在,则创建失败返回false。
public boolean mkdirs(): 创建文件夹,如果存在该文件夹,则不创建并且返回false,如果创建成功返回true;如果父目录不存在,则直接创建父目录返回true。
注意:如果你创建文件或者文件夹时没有加路径,那么此时就是默认路径,默认在当前项目文件夹下。
B:删除功能
public boolean delete():删除一个文件或者文件夹,如果该文件夹下面有文件或者文件夹,则删除失败,返回false,删除成功返回true。
C:重命名功能
public boolean renameTo(File dest):如果参数File对象的路径和该File对象路径一样,则是改名,如果路径不同,则是改名+剪贴。
D:判断功能
public boolean isDirectory():判断是否为目录
public boolean isFile():判断是否为文件
public boolean exists():判断是否存在
public boolean canRead():判断是否可读
public boolean canWrite():判断是否可写
public boolean isHidden():判断是否隐藏
E:获取功能
public boolean getAbsolutePath():获取绝对路径
public boolean getPath():获取相对路径
public boolean getName():获取名称
public long length():获取文件长度
public long lastModified():获取最后一次修改时间,毫秒值
高级获取功能
public String[] list():获取指定目录下所有文件或者文件夹的名称数组
public File[] listFiles():获取指定目录下所有文件或者文件夹的File数组
F:文件过滤器
public String[] list(FilenameFilter filter):获取指定目录下指定的文件的名称
public File[] listFiles(FilenameFilter filter):获取指定目录下指定的文件。
其中,FilenameFilter 是一个接口,因此可以知道filter肯定是FilenameFilter的一个实现类对象。
具体用法如下:
//判断H盘下是否有JPG文件,有的话输出
/*
* 1 封装H盘
* 2 获取目录下所有File数组
* 3 判断是否是文件
* 是:是否名字是以.JPG结尾
* 是:获取名字输出
* 否:无
* 否:无
*/
File file_H = new File("H:\\") ;
File [] files = file_H.listFiles() ;
//循环判断
for (File file : files) {
if (file.getName().endsWith(".JPG")) { //字符串中的方法 endsWith("XX"):判断是否以XX为结尾
System.out.println(file.getName());
}
}
/*优化:文件过滤器改进
*
* 1.封装H盘
* 2。判断是否有以。JPG结尾的文件
* 是:获取输出
* 否:无
*/
File file = new File("H:\\") ;
String[] strFile = file.list(new FilenameFilter() {
public boolean accept(File arg0, String arg1) {
// 只有这边判断为真的时候文件名才会放进list中
//System.out.println(arg0+"---"+arg1); //输出H:\---迅雷下载 ,可见arg0是文件路径,arg1是文件名
return arg0.isFile() && arg1.endsWith(".JPG");
}
});
for (String string : strFile) {
System.out.println(string);
}