- File类的概述
- File:
- 文件和目录路径名的表示形式。
- 路径分为绝对路径和相对路径
- 绝对路径是一个固定的路径,从盘符开始
- 相对路径相对于某个位置,在eclipse下是指当前项目下,在dos下
- File:
File类的构造方法
File(String pathname)//根据一个路径得到File对象
File file = new File("C:\\user\\xxx.txt");//也可以相对路径
System.out.println(file.exists());//判断此路径上的文件是否存在
File(String parent, String child)//根据一个目录和一个子文件/目录得到File对象
String parent = "C:\\user";
String child = "xxx.txt";
File file = new File(parent,child);
File(File parent, String child)//根据一个父File对象和一个子文件/目录得到File对象
File parent = new File("C:\\user");
String child = "xxx.txt";
File file = new File(parent,child);
System.out.println(parent.exists);//可验证parent是否存在
File类创建新文件
文件
public boolean createNewFile()//创建文件 如果存在这样的文件,就不创建了
public static void main(String[] args) throws IOEception{
File file = new File("xxx.txt");
System.out.println(file.createNewFile());//路径上没有此文件就创建文件并返回true,如果有就不创建并返回false
}
文件夹
public boolean mkdir()//创建文件夹 如果存在这样的文件夹,就不创建了
public static void main(String[] args) throws IOEception{
File file = new File("xxx");//也可以写后缀
System.out.println(file.createmkdir());//路径上没有此文件夹就创建文件夹并返回true,如果有就不创建并返回false
}
多级文件夹
public boolean mkdirs()//创建文件夹,如果父文件夹不存在,会帮你创建出来
public static void main(String[] args) throws IOEception{
File file = new File("xxx\\yyy");
System.out.println(file.createmkdirs());//路径上没有此文件就创建文件并返回true,如果有就不创建并返回false
}
File类的重命名和删除功能
文件重命名/新路径
public boolean renameTo(File dest)//把文件重命名为指定的文件路径
File file = new File("xxx.txt");//必须存在 ,
File file2 = new File("yyy.txt");//可以不存在
System.out.println(file.renameTo(file2));//成功返回true
//不同路径
File file2 = new File("C:\\yyy.txt");//可以不存在
删除文件夹
public boolean delete()//删除文件或者文件夹
File file = new File("xxx.txt");
System.out.println(file.delete());//删除文件
File file2 = new File("xxx");
System.out.println(file2.delete());//删除文件夹 当删除多级文件夹时,要先删除内部文件
File类的判断方法
public boolean isDirectory()//判断是否是目录
public boolean isFile()//判断是否是文件
public boolean exists()//判断是否存在
public boolean canRead()//判断是否可读
public boolean canWrite()//断是否可写
public boolean isHidden()//判断是否隐藏
File的获取方法
public String getAbsolutePath()//获取绝对路径
public String getPath()//获取构造方法中传入的路径
public String getName()//获取名称
public long length()//获取长度。字节数
public long lastModified()//获取最后一次的修改时间,毫秒值
public String[] list()//获取指定目录下的所有文件或者文件夹的名称数组
public File[] listFiles()//获取指定目录下的所有文件或者文件夹的File数组
文件名称过滤器的概述及使用
public String[] list(FilenameFilter filter)
public File[] listFiles(FileFilter filter)
File dir = new File("c:\\");
String[] arr = dir.list(new FilenameFilter() {
public boolean accept(File dir, String name) {
File file = new File(dir, name);
return file.isFile() && file.getName().endsWith(".jpg");
}
});
for (String string : arr) {
System.out.println(string);
}