一、File类的概念
File的路径为java.io.File,可以获取文件或目录信息等
二、File类中常用的方法
File(String pathname) pathname(指定的路径)
boolean exists() 测试目录或者文件是否存在
String getName() 用于获取文件的名称
long length() 返回文件的长度
long lastModified() 获取文件最后一次修改的时间
String getAbsolutePath() 获取文件的绝对路径
boolean delete() 用于删除文件,删除目录时要求时空目录
boolean createNewFile() 用于创建新的空文件
boolean mkdir() 用于创建目录
boolean mkdirs() 用于创建多级目录
File[] listFiles() 获取该目录下的所有内容
boolean isFile() 判断是否为文件
boolean isDirectory() 判断是否为空目录
File[] listFiles(FlieFilter filter) 获取目录下满足筛选器的的所有内容
三、常用方法练习
1.创建一个文件
public class Tset1 {
public static void main(String[] args) throws IOException {
// 指定一个路径及文件名称,本语句指定了在E盘下面创建一个aFileTest.md的文件
File f1=new File("E:/FileTest.md");
//创建文件
//注意:createNewFile()返回的是一个boolean类型值
boolean result=f1.createNewFile();
//判断是否创建成功
if(result){
System.out.println("文件创建成功");
}else {
System.out.println("文件创建失败");
}
}
}
2. 创建目录(文件夹)
public class Test2 {
public static void main(String[] args) {
// 指定一个路径,本语句指定了在E盘下面创建一个aa的目录(即aa的文件夹)
File f1=new File("E:/aa");
// 创建文件夹
// 注意: 本语句创建的是一个文件夹,如果是多个文件夹可以采用 mkdirs() 方法
// 注意: mkdir()和mkdirs()方法返回的是一个boolean类型值
boolean result=f1.mkdir();
//判断是否创建成功
if(result){
System.out.println("文件创建成功");
}else {
System.out.println("文件创建失败");
}
}
}
3.删除目录
public class Test3 {
public static void main(String[] args) {
// 指定一个空文件夹
File f1=new File("E:/aa");
// 删除文件夹并返回一个布尔值
boolean result=f1.delete();
//判断是否创建成功
if(result){
System.out.println("文件创建成功");
}else {
System.out.println("文件创建失败");
}
}
}
4.显示已存在文件的详细信息
public class Test4 {
public static void main(String[] args) throws IOException {
// 指定一个文件所在路径
File f1=new File("E:/aa/FileTest.md");
//打印路径下文件的相关内容
//打印文件的名称
System.out.println("文件的名称是:"+f1.getName());
//打印文件的长度
System.out.println("文件的长度是:"+f1.length());
//打印文件最后依次修改的时间
// 注意:上面打印的修改时间是毫秒,下面我们把它转换然后进行输出
System.out.println("文件最后一次修改的时间是:"+f1.lastModified());
//打印文件的绝对路径
System.out.println("文件的绝对路径是:"+f1.getAbsolutePath());
}
}
5.打印出来指定目录中的所有
import java.io.File;
public class Test5 {
public static void main(String[] args) {
// 指定目录
File f1=new File("E:/");
// 创建对象去调用show()方法
Test5 test5=new File5();
test5.show(f1);
}
public static void show(File f1){
// 获取目录下的数据并存在数组里
File[] filesArray = f1.listFiles();
// 遍历数组并输出
for(File f:filesArray){
if(f.isFile()){
System.out.println(f.getName());
}
if(f.isDirectory()){
System.out.println("{"+f.getName()+"}");
// 实现递归得到所有文件
show(f);
}
}
}
}