概要
File是java.io包中的一个很重要的类
File类的对象可以表示文件,还可以表示目录;在程序中,一个file对象可以代表一个文件或目录
File对象可以对文件或目录的属性进行操作, Eg: 文件名,最后的修改日期,文件大小
File对象无法操作文件的具体数据,即不能对文件进行读写操作
构造方法
//在当前目录下创建一个与aaa.txt文件名相关联的文件对象
File f1 = new File("aaa.txt");
//指明详细的路径以及文件名,请注意双斜线或用反斜杠
File f2 = new File("D:\\Java\\Hello.java");
//指明详细的路径以及目录名,请注意双斜线
File f3 = new File("D:\\Java");
File类中常用方法
方 法 原 型 | 说 明 |
---|---|
boolean exists() | 判断文件是否存在,存在返回true,否则返回false |
boolean isFile() | 判断是否为文件,是文件返回true,否则返回false |
boolean isDirectory() | 判断是否为目录,是目录返回true,否则返回false |
String getName() | 获得文件的名称 |
long length() | 获得文件的长度(字节数) |
boolean createNewFile()throws IOException | 创建新文件,创建成功返回true,否则返回false,有可能抛出IOException异常,必须捕捉 |
boolean delete() | 删除文件,删除成功返回true,否则返回false |
常用方法的使用
File f = new File("D:\\Java\\ff\\src\\collection\\day1\\DebugDemo.java");
//判断文件是否存在
System.out.println(f.exists());
//判断是否为文件
System.out.println(f.isFile());
//判断是否为目录
System.out.println(f.isDirectory());
//获得文件的名称
System.out.println(f.getName());
//获取文件的长度(字节数)
System.out.println(f.length());
try {
System.out.println(f.createNewFile());
} catch (IOException e) {
e.printStackTrace();
}
//删除文件 轻易不要操作
System.out.println(f.delete());
由于文件被删了,所以前俩个返回false
false
false
false
DebugDemo.java
0
true
true
创建文件/文件夹
创建一个目录 mkdir
创建多个目录 mkdirs
//创建文件
File f = new File("D:\\Java\\ff\\src\\io\\day1\\example1.txt");
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
f.delete();
//创建文件夹 只有一个用mkdir
File ff = new File("D:\\lbw");
ff.mkdir();
//有多层用mkdirs 要想一次删除文件夹 --> 其子目录得为空
File fff = new File("D:\\lbw\\lbwnb");
fff.mkdirs();
返回一个目录下的文件
//返回一个目录下的所有文件
File f = new File("D:\\1920-1080彼岸图4K\\动漫");
File[] fs = f.listFiles();
for (File fss:fs) {
System.out.println(fss);
}
//拿到指定后缀名的文件
File[] fsss = f.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().substring(pathname.getName().lastIndexOf(".")+1).equals("jpg");
}
});
System.out.println(fsss);