java的文件操作类File

时间:2023-03-08 17:29:01
java的文件操作类File

java.io.File类,是java获取文件/文件夹的所有属性,和完成所有相关操作的类

例子:

 package test.file.IO;

 import java.io.*;
public class TestFile{
public static void main(String[] args){
//1.File类是java用来处理文件的类,它可以获取文件的所有属性 和 完成文件所需要的所有操作
// 所以使用的第一步就是new一个File对象
// File f = new File("test.txt");//构造方法也有多次重载
//2.判断文件是否存在,exists()方法,这是针对单个文件的,所以要用第三人称单数
//3.如果不存在那么就新建这个文件,createNewFile()
// 如果是要创建文件夹,则使用 mkdir();只能创建一层的文件夹和
// mkdirs()无论多少层都能够创建,所以推荐使用这个方法;
//4.判断文件是文件还是文件夹,isFile();isDirectory()
//5.如果是文件,获取文件的基本属性,getName()获取文件名;
// getPath()获取路径;
// getAbsolutePath()获取绝对路径;
// length()获取文件大小等等
//6.获取文件的父目录 getParent()
// getParentFile()可以获取父路径
//7.如果是文件夹,主要就是获取目录下的文件了
// list()返回所有子目录的文件名,返回值是String类型(隐藏文件也会返回)
// listFile()很明显,返回所有子目录下的所有文件,类型是File类型
// File f = new File("D:\\123\\789\\abc.txt");
if(f.exists()){//先判断文件是否存在
System.out.println("已存在");
}else{
if(f.isDirectory()){//判断要生成的是文件还是文件夹
f.mkdirs();//循环生成文件夹及其子文件夹
} else {
try {
if (!f.getParentFile().exists()) {//如果是创建包含文件夹的文件,必须先手动创建文件夹
f.getParentFile().mkdirs();
}
f.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
}
} //当为文件夹时,可以显示其子目录和文件
File f2 = new File("E:\\tommy_130923");
String[] fileNames = f2.list();//list会把文件和子目录都罗列出来
for(int i=0;i<fileNames.length;i++)
System.out.println(i+" "+fileNames[i]); System.out.println("***********************************");
File[] files = f2.listFiles();//以文件的格式返回所有的文件和子目录
for(int j=0;j<files.length;j++)
System.out.println(j+" "+files[j].getName()); //循环遍历文件
System.out.println("**************循环遍历文件*********************");
showFiles(f2);
} public static void showFiles(File f){
if(f.exists()&&f.isDirectory()){
File[] files = f.listFiles();
for(File file:files){
if(file.isDirectory())
showFiles(file);
else
System.out.println(file.getAbsolutePath());
} }else if(f.exists()&&f.isFile())
System.out.println(f.getAbsolutePath());
}
}