File类
属于java.io.File
作用:
1)使用File类可以访问其表示的文件或者目录的属性信息(名字、大小、权限等)
file通过路径表示目录和文件。即在双引号中" xxx "所写的路径。
路径分为绝对路径和相对路径
绝对路径:即文件在某个磁盘内的某个文件夹内,比如:D:\JSD2210\src\apiday01。
相对路径:相对路径是相对与我们所创建的项目而言。在编写代码时,我们需要创建一个project文件夹,这个projec文件夹中存储我们所写的代码,在java中通过"."来表示project文件夹,通过这样,不管project存储在那个盘中,编译器会帮我们自动找到project中存储的各种代码。
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
//file路径下的文件
File file = new File("./demo.txt");
if (file.isFile()) {
System.out.println(file.getName());//获取当前文件的名字
System.out.println(file.length());//获取当前文件的长度
System.out.println(file.canRead());//当前文件是否可读
System.out.println(file.canWrite());//当前文件是否可写
}
File dir = new File("./demo");
if (dir.isDirectory()) {
System.out.println(dir.getName());//获取当前目录的名字
System.out.println(dir.length());//获取当前目录的长度
System.out.println(dir.canRead());//当前目录是否可读
System.out.println(dir.canWrite());//当前目录是否可写
}
}
}
结果为
demo.txt
35
true
true
demo
0
true
true
Process finished with exit code 0
2)通过File类可以创建/删除目录或文件
创建目录和文件 先声明File 接收当前路径下的目录,再判断file是否存在 Boolean exist(),不存在,调用mkdir()创建目录。创建多级目录中的目录,调用mkdirs()。
File dir=new File("./test");//表示当前路径中的test目录
if (dir.exists()){//判断该目录是否存在
System.out.println("目录已存在");
}else{
dir.mkdir();//创建该目录
}
File dir1=new File("./a/test");//表水当前路径下a目录中的test目录
if (dir1.isDirectory()){
System.out.println("目录已存在");
}else{
dir1.mkdirs();//可创建多个目录
}
创建文件,通过先声明File 接收当前路径下的文件,再判断file是否存在boolean exist(),不存在,调用createNewFile()创建文件。调用createNewFile()时,需要先抛出异常。Alt+回车键单击createNewFile()方法Add exception to method signature,抛出异常
public static void main(String[] args) {...}//抛出异常前
public static void main(String[] args) throws IOException {...}//抛出异常后
删除当前目录中的以TSET开头的文件
File dir=new File(".");
File[] subs=dir.listFiles();
for (File sub:subs){
if (sub.getName().startsWith("TSET")){
sub.delete();
}
}
删除目录
File dir = new File("./test");
dir.delete();
需要配注意的是,在删除目录时,目录中必须清空,否则无法删除。比如D:\JSD2210\src\apiday01中,我们要删除src目录时,必须先将src中的目录和文件全部删除才能删除src。
3)访问当前目录下的子项
通过File[] listFiles(),将文档dir中的子项以列表的形式展现出来。通过增强for循环输出每个子项。
File dir=new File("./src/main/java/file");
File[] subs=dir.listFiles();
for (File sub:subs){
System.out.println(sub.getName());
}
结果为
CreatNewFileDemo.java
DeleteDirDemo.java
DeleteFileDemo.java
FileDemo.java
ListFilesDemo.java
ListFilesDemo02.java
MKdir.java
Test.java
Test02.java
Process finished with exit code 0
总结
File作用
1)通过file可以访问所代表的文档或目录的属性信息(名字、大小、权限(可读、可写))。涉及getName
()、length()、isRead()、isWrite()
2)通过file可以创建删除目录和文件,涉及mkdir()、mkdirs()、createNewFile()、delete()
3)t通过file可以访问目录中的子项。涉及listFile()