java中的File类
1.基本信息:
包:java.io
类型:类
2.构造方法
构造方法必须传入参数,没有无参的构造方法
支持三种格式
- 接收一个字符串的路径
File(String pathname)
具体代码实现:
File file = new File("D:\\");
System.out.println(file);
>>>D:\
- 接收两个字符串,并进行拼接
File(String parent, String child)
,具体代码实现:
File file = new File("D:\\","Test.txt");
System.out.println(file);
>>>D:\Test.txt
- 接收一个File类型和一个字符串进行拼接
File(File parent, String child)
,具体代码实现:
File file = new File(("D:\\"));
File file1 = new File(file,"Test.txt");
System.out.println(file1);
>>>D:\Test.txt
3.常用方法
1.对文件的判断
判断对应的文件或文件夹当前是否存在exists()
判断对应的file是文件还是文件夹。isDirectory() / isFile()
测试此路径名是否为绝对路径名。isAbsolute()
程序是否对此文件可读可写 canRead() canWrite()
判断文件是否是隐藏文件isHidden()
2.创建文件夹/文件
一般在创建文件或者文件夹的时候通常要配合try/catch使用,防止报错中断程序。
创建一个不存在的文件夹或文件(已存在无操作)createNewFile()
//案例:
File file = new File(("D:\\"));
File file1 = new File(file,"XYZ\\a.txt");
System.out.println(file1);
try {
file1.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
创建文件夹 mkdir()
前提条件是之前的目录必须是创建好的。
//案例(0XYZ文件夹不存在)
File file = new File(("D:\\"));
File file1 = new File(file,"0XYZ\\a.txt");
System.out.println(file1);
file1.mkdir();
//可以正常打印,但没有文件的创建
创建文件夹 mkdirs()
,即使父级目录不存在,也可以都创建出来,但创建出来的都是文件夹
//案例(0XYZ文件夹不存在)
File file = new File(("D:\\"));
File file1 = new File(file,"0XYZ\\a.txt");
System.out.println(file1);
file1.mkdirs();
//a.txt被创建出来是文件夹,而不是a.txt文件
3.操作文件
将文件重命名(不建议使用)
renameTo(File dest)
File中的renameTo方法案例
删除此路径名表示的文件或目录delete()
删除非空文件夹,如果非空,则返回false,不进行操作
将此路径名转换为一个路径名字符串。getPath()
4.文件夹的属性
返回由路径名表示的文件的长度length()
返回由此路径名表示的文件或目录的名称getName()
返回此路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。getParent()
返回此路径名的绝对路径名字符串。getAbsolutePath()
返回的是字符串
返回此路径名的绝对路径名形式。getAbsoluteFile()
返回的是File类型
返回此路径名指定的分区大小getTotalSpace()
返回值以字节计算
返回此路径名指定的分区上剩余空间字节数。getUsableSpace()
5.列出文件夹下的文件列表
返回一个字符串数组,这些字符串指定此路径名表示的一级子目录中的文件和目录。list()
返回一个字符串数组,这些字符串指定此路径名表示的目录中满足指定过滤器的文件和目
录。list(FilenameFilter filter)
实例:
返回一个目录下以.docx结尾的文件名称
File file1 = new File("D:\\0XYZ");
String [] str = file1.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".docx");
}
});
List li = Arrays.asList(str);
System.out.println(li);
6.设置文件权限(仅供参考,未做验证)
设置文件读权限boolean setReadable(boolean readable, boolean ownerOnly)
设置文件的只读权限setReadOnly()
设置文件的写权限setWritable(boolean writable, boolean ownerOnly)