构造方法
File(String pathname); //根据一个路径得到File对象
File(String parent, String child); //根据一个目录和一个子文件/目录得到File对象
File(File parent, String child); //根据一个File对象和一个子文件/目录得到File对象
创建方法
public boolean createNewFile(); //创建文件,如果存在这样的文件,就不创建的
public boolean mkdir(); //创建文件夹,如果存在这样的文件夹,就不创建了
public boolean mkdirs(); //创建文件夹,如果父文件夹不存在会帮你创建出来
重命名和删除方法
public boolean renameTo(File dest); //把文件重命名为指定的文件路径
public boolean delete(); //删除文件或者文件夹,如果是文件夹,文件夹必须是空的
重命名注意事项
- 如果路径名相同,就是改名
- 如果路径名不同,就是改名并剪切
删除注意事项:
- Java中的删除不走回收站
- 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹
判断功能
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数组
文件名称过滤
1、手写过滤
public class Demo2_File {
public static void main(String[] args) throws IOException {
File file = new File("E:/");
File[] files = file.listFiles();
for(File file1 : files){
if(file1.getName().endsWith(".jpg")){
System.out.println(file1.getName());
}
}
}
}
2、定义一个过滤器
public class Demo2_File {
public static void main(String[] args) throws IOException {
File file = new File("E:/");
FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
File file1 = new File(dir, name);
return file1.isFile() && file1.getName().endsWith(".jpg");
}
};
File[] files = file.listFiles(filter);
for(File file1 : files){
System.out.println(file1);
}
}
}