File类的概述
java.io.File
类
- 凡是与输入、输出相关的类、接口等都定义在
java.io
包下 - File是一个类,可以有构造器创建其对象。此对象对应着一个文件或者文件目录
- File类对象是与平台无关的
- File中的方法,仅涉及到如何创建、删除、重命名等等。只要涉及到文件内容的,File是无能为力的,必须由io流来完成
- File类的对象常作为io流的具体类的构造器的形参
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
//绝对路径
File file = new File("//Users//leeakita//IdeaProjects//file//my.txt");
//相对路径
File file1 = new File("my.txt");
}
}
File类的常用方法
访问文件名相关方法
getName()
功能说明
获取文件的文件名
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(file.getName());
}
}
运行结果
getPath()
功能说明
获取文件的相对路径
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(file.getPath());
}
}
运行结果
getAbsoluteFile()
功能说明
获取带绝对路径的文件名
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(file.getAbsoluteFile());
}
}
运行结果
getAbsolutePath()
功能说明
获取文件的绝对路径
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(file.getAbsolutePath());
}
}
运行结果
getParent()
功能说明
获取该文件的上一层文件名
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(file.getParent());
}
}
运行结果
file1.renameTo(file2)
功能说明
将file1的文件名改为file2的文件名称,要求file1必须存在,file2必须不存在,否则修改不成功,会报错
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file1 = new File("filedir/my.txt");
File file2 = new File("filedir/out.txt");
System.out.println(file1.renameTo(file2));
}
}
运行结果
修改之前
修改之后
文件检测相关方法
exists()
功能实现
判断file对象对应的文件或者文件夹是否存在,如果存在返回true,否则返回false
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
File no_file = new File("filedir/out.txt");
System.out.println(file.exists());
System.out.println(no_file.exists());
}
}
运行结果
canWrite()
功能说明
判断file对象对应的文件是否可写
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(file.canWrite());
}
}
运行结果
canRead()
功能说明
判断file对象对应的文件是否可读
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(file.canRead());
}
}
运行结果
isFile()
功能说明
判断file对象对应的是否是一个文件,如果是返回true,否则返回false
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(file.isFile());
}
}
运行结果
isDirectory()
功能说明
判断file对象对应的是否是一个文件夹,如果是返回true,否则返回false
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(file.isDirectory());
}
}
运行结果
lastModified()
功能说明
返回file对象对应的文件或者文件夹最后的修改时间
代码实现
import java.io.File;
import java.util.Date;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(new Date(file.lastModified()));
}
}
运行结果
length()
功能说明
返回file对象对应的文件的大小,例如文件内部有五个字符,则返回五
代码实现
import java.io.File;
import java.util.Date;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(file.length());
}
}
运行结果
目录操作相关方法
createNewFile()
功能说明
创建一个file对象对应的文件
代码实现
import java.io.File;
import java.io.IOException;
public class TestFile {
public static void main(String[] args) throws IOException {
File file = new File("filedir/my.txt");
System.out.println(file.createNewFile());
}
}
运行结果
执行前
执行后
delete()
功能说明
对file对象对应的文件执行删除操作
代码实现
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file = new File("filedir/my.txt");
System.out.println(file.delete());
}
}
运行结果
执行前
执行后
mkDir()
功能说明
创建一个目录,只有在上层文件目录存在的情况下,才能创建成功,并且返回true,否则返回false
代码实现
import java.io.File;
import java.io.IOException;
public class TestFile {
public static void main(String[] args) throws IOException {
File file = new File("filedir/my");
System.out.println(file.mkdir());
}
}
运行结果
执行前
执行后
mkDirs()
功能说明
创建一个文件目录,若上层文件不存在,一并创建
代码实现
import java.io.File;
import java.io.IOException;
public class TestFile {
public static void main(String[] args) throws IOException {
File file = new File("filedir/lee/akita/wzz");
System.out.println(file.mkdirs());
}
}
运行结果
执行前
执行后
list()
功能说明
返回对应文件夹下面的所有文件,返回的形式是一个String数组
代码实现
import java.io.File;
import java.io.IOException;
public class TestFile {
public static void main(String[] args) throws IOException {
File file = new File("filedir/lee/akita");
String[] list = file.list();
for (String temp : list) {
System.out.println(temp);
}
}
}
运行结果
listFiles()
功能说明
返回对应文件夹下面的所有文件,返回的形式是一个File数组
代码实现
import java.io.File;
import java.io.IOException;
public class TestFile {
public static void main(String[] args) throws IOException {
File file = new File("filedir/lee/akita");
File[] files = file.listFiles();
for (File temp : files) {
System.out.println(temp.getName());
}
}
}
运行结果