Java>File类>>获取、判断、创建、删除方法和遍历(文件夹)目录功能的使用
File类_获取功能的方法:
案例:
package File_Lei;
import java.io.File;
/*
获取功能的方法:
public String getAbsolutePath() :返回此抽象路径名的绝对路径名字符串。
public String getPath() :将此抽象路径名转换为一个路径名字符串。
public String getName() :返回由此抽象路径名表示的文件或目录的名称。
public long length() :返回由此抽象路径名表示的文件的长度。
*/
public class FileGet {
public static void main(String[] args) {
File f1 = new File("G:\\Demo01\\src\\File_Lei\\FileGet.java");
System.out.println("文件绝对路径:" + f1.getAbsolutePath());
System.out.println("文件构造路径:" + f1.getPath());
System.out.println("文件名称:" + f1.getName());
System.out.println("文件长度:" + f1.length() + "字节");
System.out.println("======================================================");
File f2 = new File("G:\\Demo01");
System.out.println("目录绝对路径:" + f2.getAbsolutePath());
System.out.println("目录构造路径:" + f2.getPath());
System.out.println("目录名称:" + f2.getName());
System.out.println("目录长度:" + f2.length() + "字节");
}
}
文件绝对路径:G:\Demo01\src\File_Lei\FileGet.java文件构造路径:G:\Demo01\src\File_Lei\FileGet.java
文件名称:FileGet.java
文件长度:1312字节
======================================================
目录绝对路径:G:\Demo01
目录构造路径:G:\Demo01
目录名称:Demo01
目录长度:4096字节
File类_判断功能的方法:
案例
package File_Lei;
import java.io.File;
/*
判断功能方法:
public boolean exists() :测试此抽象路径名表示的文件或目录是否存在。
public boolean isDirectory() :测试此抽象路径名表示的文件是否是一个目录。
public boolean isFile() :测试此抽象路径名表示的文件是否是一个标准文件。
*/
public class FileIs {
public static void main(String[] args) {
File f1 = new File("G:\\Demo01\\src\\File_Lei\\FileIs.java");
File f2 = new File("G:\\Demo01");
//判断是否存在
System.out.println("G:\\Demo01\\src\\File_Lei\\FileIs.java 是否存在:" + f1.exists());
System.out.println("G:\\Demo01 是否存在:" + f2.exists());
//判断是文件还是目录
System.out.println("G:\\Demo01 是否为目录:" + f2.isDirectory());
System.out.println("G:\\Demo01 是否为文件:" + f2.isFile());
}
}
G:\Demo01\src\File_Lei\FileIs.java 是否存在:true
G:\Demo01 是否存在:true
G:\Demo01 是否为目录:true
G:\Demo01 是否为文件:false
File类_创建/删除功能的方法:
案例:
package File_Lei;
import java.io.File;
import java.io.IOException;
/*
public boolean createNewFile() :当且仅当具有该名称的文件尚未存在时,创建一个新的空文件。
public boolean delete() :删除此抽象路径名表示的文件或目录。
public boolean mkdir() :创建此抽象路径名指定的目录。
public boolean mkdirs() :创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
*/
public class FileCreateDelete {
public static void main(String[] args) throws IOException {
show01();//创建文件
show02();//创建文件夹
show03();//删除由此File表示的文件或者目录
}
/*
public boolean delete() :删除此抽象路径名表示的文件或目录。
此方法,可以删除构造方法路径中给出的文件/文件夹
返回值:布尔值
true:文件/文件夹删除成功,返回true
false:文件夹中有内容,不会删除返回false,构造方法中路径不存在false
注意:
delete方法是直接在硬盘删除文件/文件夹,不走回收站,删除要谨慎
*/
private static void show03() {
File f1 = new File("G:\\Demo01\\src\\File_Lei\\新建文件夹\\123");
boolean delete01 = f1.delete();//删除文件夹
System.out.println("delete01:" + delete01);
File f2 = new File("G:\\Demo01\\src\\File_Lei\\123.txt");
boolean delete02 = f2.delete();//删除文件
System.out.println("delete02:" + delete02);
}
/*
public boolean mkdir() :创建单级空文件夹
public boolean mkdirs() :既可以创建单级空文件夹,也可以创建多级文件夹
返回值:布尔值
true:文件夹不存在,创建文件,返回true
false:文件夹存在,不会创建,返回false,构造方法中给出的路径不存在返回false
注意:
1. 此方法只能创建文件夹,不能创建文件
*/
private static void show02() {
File f1 = new File("G:\\Demo01\\src\\File_Lei\\新建文件夹");
boolean mkdir01 = f1.mkdir(); //新建单级文件夹
System.out.println("mkdir01:" + mkdir01);
File f2 = new File("G:\\Demo01\\src\\File_Lei\\新建文件夹\\123");
boolean mkdir02 = f2.mkdirs(); //新建多级文件夹
System.out.println("mkdir02:" + mkdir02);
File f3 = new File("不存在路径\\123");
boolean mkdir03 = f3.mkdirs(); //路径不存在,会创建在软件程序文件(G:\Demo01)下面
System.out.println("mkdir03:" + mkdir03);
}
/*
//public boolean createNewFile() :当且仅当具有该名称的文件尚未存在时,创建一个新的空文件。
创建文件的路径和名称在构造方法中给出(构造方法的参数)
返回值:布尔值
true:文件不存在,创建文件,返回true
false:文件存在,不会创建,返回false
注意:
1. 此方法只能创建文件,不能创建文件夹(目录)
2. 创建文件的路径必须存在,否则会抛出异常
public boolean createNewFile() throws IOException
createNewFile声明抛出了IOException,我们调用了这个方法,就必须待处理这个异常,要么throws,要么try...catch
*/
private static void show01() throws IOException {
File f1 = new File("G:\\Demo01\\src\\File_Lei\\123.txt");
boolean createNewFile01 = f1.createNewFile(); //新建文件
System.out.println("createNewFile01:" + createNewFile01);
//File createNewFile03 = new File("File_Leil\\1234.txt");
//System.out.println(createNewFile03.createNewFile()); //路径不存在,抛出IOException异常
}
}
createNewFile01:false
mkdir01:false
mkdir02:false
mkdir03:false
delete01:true
delete02:true
File类_遍历(文件夹)目录功能:
案例:
package File_Lei;
import java.io.File;
/*
File类遍历(文件夹)目录功能
public Strin[] list() :返回一个String数组,表示File目录中的所有子文件或目录
public File[] listFiles() :返回一个File数组,表示File目录中的所有的子文件或目录
注意:
List方法和listFiles方法遍历的是构造方法中给出的目录
如果构造中给出的目录文件不存在,会抛出空指针异常
如果构造方法中给出的路径不是一个目录,也会抛出空指针异常
*/
public class FileFor {
public static void main(String[] args) {
show01(); //返回的是一个String数组
System.out.println("==================================================");
show02(); //返回的是一个listfiles数组
}
/*
public File[] listFiles() :返回一个File数组,表示File目录中的所有的子文件或目录
遍历构造方法中给出的目录,会获取目录中所有文件/文件夹,把文件/文件夹封装为File对象,多个File对象存储到File数组中
*/
private static void show02() {
File f1 = new File("G:\\Demo01\\src\\File_Lei");
File[] files = f1.listFiles();
for (File f : files) {
System.out.println(f);
}
}
/*
public Strin[] list() :返回一个String数组,表示File目录中的所有子文件或目录
遍历构造方法中给出的目录,会获取目录中所有文件/文件夹的名称,把获取到的多个名称存储到一个String类型的数组中
*/
private static void show01() {
//File f1 = new File("G:\\Demo01\\src\\File_Lei\\1.txt"); //NullPointerException 空指针异常
//File f1 = new File("G:\\Demo01\\src\\File_L"); //NullPointerException 空指针异常
File f1 = new File("G:\\Demo01\\src\\File_Lei");
String[] arr = f1.list();
for (String fileName : arr) {
System.out.println(fileName);
}
}
}
FileCreateDelete.java
FileFor.java
FileGet.java
FileIs.java
新建文件夹
==================================================
G:\Demo01\src\File_Lei\FileCreateDelete.java
G:\Demo01\src\File_Lei\FileFor.java
G:\Demo01\src\File_Lei\FileGet.java
G:\Demo01\src\File_Lei\FileIs.java
G:\Demo01\src\File_Lei\新建文件夹
FileFor.java
FileGet.java
FileIs.java
新建文件夹
==================================================
G:\Demo01\src\File_Lei\FileCreateDelete.java
G:\Demo01\src\File_Lei\FileFor.java
G:\Demo01\src\File_Lei\FileGet.java
G:\Demo01\src\File_Lei\FileIs.java
G:\Demo01\src\File_Lei\新建文件夹

查看13道真题和解析