目录
列:exists判断文件或文件夹是否存在、isDirectory判断是否是目录、isFile判断是否是文件
创建删除目录与文件的方法
列:createNewFile创建文件、delete删除文件或目录、mkdir创建目录、mkdirs创建多级目录
目录的遍历
列:目录(文件夹)遍历 :list():返回字符串、listFiles():返回目录
File抽象类
判断目录与文件是否存在的方法
public boolean exists() :此File表示的文件或目录是否实际存在。
public boolean isDirectory() :此File表示的是否为目录。
public boolean isFile() :此File表示的是否为文件。
列:exists判断文件或文件夹是否存在、isDirectory判断是否是目录、isFile判断是否是文件
public class Demo04File {
public static void main(String[] args) {
show1();
show2();
}
// public boolean exists() :判断文件或文件夹是否存在
private static void show1() {
File f1 = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan");
System.out.println(f1.exists());//true
File f2 = new File("C:\\Users\\itcast\\IdeaProjects\\shung");
System.out.println(f2.exists());//false
File f3 = new File("shungyuan.iml");//相对路径 C:\Users\itcast\IdeaProjects\shungyuan\shungyuan.iml
System.out.println(f3.exists());//true
File f4 = new File("a.txt");//判断目录是否存在
System.out.println(f4.exists());//true
}
/*2 public boolean isDirectory() :此File表示的是否为目录。
public boolean isFile() :此File表示的是否为文件。
*/
private static void show2() {
File f1 = new File("C:\\Users\\itcast\\IdeaProjects\\shung");
//不存在,就没有必要获取
if(f1.exists()){
System.out.println(f1.isDirectory());
System.out.println(f1.isFile());
}
File f2 = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan");
if(f2.exists()){
System.out.println(f2.isDirectory());//判断此文件是否是目录 结果:true
System.out.println(f2.isFile());//判断此文件是否是文件夹 结果:false
}
File f3 = new File("C:\\Users\\itcast\\IdeaProjects\\shungyuan\\shungyuan.iml");
if(f3.exists()){
System.out.println(f3.isDirectory());//false
System.out.println(f3.isFile());//true
}
}
}
创建删除目录与文件的方法
public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
public boolean delete() :删除由此File表示的文件或目录。 (如果File表示目录,则目录必须为空才能删除)
public boolean mkdir() :创建由此File表示的目录。
public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。
列:createNewFile创建文件、delete删除文件或目录、mkdir创建目录、mkdirs创建多级目录
//1 public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
//绝对路径创建文件
File file = new File("C:\\aaa\\b1.txt");//在c:\\aaa文件夹下创建b1.txt文件
boolean newFile = file.createNewFile();
System.out.println("1 创建b.tx文件是否成功:"+newFile);
//2 相对路径创建文件
File file2 = new File("08_FileOrRecursion\\ab2.txt");
boolean newFile1 = file2.createNewFile();
System.out.println("2 创建ab2.txt文件是否成功:"+newFile1);
//2 创建目录、多级目录(创建文件夹、多级文件夹)
// public boolean mkdir() :创建单级空文件夹
// public boolean mkdirs() :既可以创建单级空文件夹,也可以创建多级文件夹
File file = new File("08_FileOrRecursion\\aaa21");
boolean mkdir = file.mkdir();
System.out.println("21 创建单级文件夹是否成功:"+mkdir);
File file1 = new File("08_FileOrRecursion\\aaa\\bbb\\ccc\\ddd");
boolean mkdirs = file1.mkdirs();
System.out.println("22 创建多级文件是否成功:"+mkdirs);
//3 public boolean delete() :删除由此File表示的文件或目录。
File file = new File("08_FileOrRecursion\\ab2.txt");
boolean delete = file.delete();
System.out.println("31 删除文件是否成功"+delete);
File f2 = new File("08_FileOrRecursion\\aaa");
System.out.println("32 删除文件夹是否成功:"+f2.delete());
目录的遍历
public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
列:目录(文件夹)遍历 :list():返回字符串、listFiles():返回目录
public static void main(String[] args) throws IOException{
show01();
System.out.println("--------------------------");
show02();
}
// public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
private static void show01() throws IOException {
File file = new File("E:\\javaWork\\basic-code\\08_FileOrRecursion");
String[] list = file.list();
System.out.println("1 08_FileOrRecursion文件夹下的所有文件:");
for (String s : list) {
System.out.print(s+"\t");
}
}
//2 public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
private static void show02() {
File file = new File("E:\\javaWork\\basic-code\\08_FileOrRecursion");
File[] files = file.listFiles();
for (File file1 : files) {
System.out.println(file1);//返回文件或文件夹的绝对路径
}
}
结果: