File类
构造方法
public File(String pathname)
通过将给定的路径名字符串转换为抽象路径名来创建新的File实例。 如果给定的字符串是空字符串,则结果是空的抽象路径名。
public File(String parent,String child)
从父路径名字符串和子路径名字符串创建新的File实例。
public File(File parent,String child)
从父抽象路径名和子路径名字符串创建新的File实例。
创建功能
public boolean createNewFile()创建一个文件
public boolean mkdir()创建一个文件夹
public boolean mkdirs()创建多级文件夹
删除功能
public boolean delete()删除文件或文件夹
注意:要删除文件夹时必须保证其目录为空
重命名功能
public boolean renameTo(File dest)
File file = new File("E:\\ftm.jpg");
//现在我想重命名为冯提莫.jpg
File file1 = new File("E:\\冯提莫.jpg");
System.out.println(file.renameTo(file1));
判断功能
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() 返回的是一个时间戳
高级获取功能
public String[] list()获取指定目录下的所有文件和文件夹的名称组成的数组
public File[] listFiles()获取指定目录下的所有文件和文件夹形成的File对象数组
代码示例
判断D盘下面有没有.jpg后的文件,如果有,就输出此文件名称`
import java.io.File;
/*
需求:判断D盘下面有没有.jpg后的文件,如果有,就输出此文件名称
1、将D盘根目录封装成一个File对象
2、获取该目录下所有的文件或者文件夹组成的File对象数组
3、遍历File数组,得到每一个File对象,然后判断是否是文件
是:继续判断是否以.jpg后缀
是:输出名称
不是:不管他
不是:不管他
*/
public class FileDemo8 {
public static void main(String[] args) {
File file = new File("D:\\");
File[] files = file.listFiles();
for(File f : files){
if(f.isFile()){
if(f.getName().endsWith(".jpg")){
System.out.println(f.getName());
}
}
}
}
}
文件名称过滤器的实现思想及代码
import java.io.File;
import java.io.FilenameFilter;
/*
判断D盘下面有没有.jpg后的文件,如果有,就输出此文件名称
1、先获取所有的文件和文件夹,然后在遍历的时候,再去判断是否是文件,是否是.jpg后缀的,最后再将满足条件的文件过滤出来获取到名称。
2、在获取的时候,获取到的数据就是满足条件的,我们直接输出就可以了。
文件名称过滤器的实现思想及代码
public String[] list(FilenameFilter filter)
public File[] listFiles(FilenameFilter filter)
*/
public class FileDemo9 {
public static void main(String[] args) {
//创建File对象
File file = new File("D:\\");
//public String[] list(FilenameFilter filter)
String[] list = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
// return false;
// return true;
//通过测试发现,目录下的文件或者文件夹该不该获取到,却决于这里的返回值
//true,就获取到加到数组,如果是false,就不获取,不加到数组中
// System.out.println(dir);
// System.out.println(name);
File file1 = new File(dir, name);
boolean b = file1.isFile();
boolean b1 = name.endsWith(".jpg");
return b && b1;
}
});
for (String s : list){
System.out.println(s);
}
}
}