JAVA File
File类创建功能
1 import java.io.File; 2 import java.io.IOException; 3 4 /* 5 File类 6 7 public boolean createNewFile() 当具有该名称的文件不存在时,创建一个有该抽象路径命名的新空文件 8 如果文件不存在,就创建文件,并返回true 9 如果文件存在,就不创建文件,并返回false 10 11 12 public boolean mkdir()创建由此抽象路径命名的目录 13 如果目录不存在,就创建文件,并返回true 14 如果目录存在,就不创建文件,并返回false 15 16 17 public boolean mkdirs()创建由此抽象路径命名的目录,包括任何必须但不存在的父目录 18 如果目录不存在,就创建文件,并返回true 19 如果目录存在,就不创建文件,并返回false 20 21 22 */ 23 24 public class FileDemo { 25 public static void main(String[] args) throws IOException { 26 //需求1:要在E:\\itcast目录下创建一个文件java.txt 27 File f1 = new File("E:\\itcast\\java.txt"); 28 System.out.println(f1.createNewFile());//抛出异常 29 System.out.println("---------"); 30 31 //需求2:要在E:\\itcast目录下创建一个目录JavaSE 32 File f2 = new File("E:\\itcast\\JavaSE"); 33 System.out.println(f2.mkdir()); 34 System.out.println("---------"); 35 36 //需求3:要在E:\\itcast目录下创建一个多级目录JavaWEB\\HTML 37 File f3 = new File("E:\\itcast\\JavaWEB\\HTML"); 38 System.out.println(f3.mkdirs()); 39 System.out.println("---------"); 40 41 //需求4:要在E:\\itcast目录下创建一个文件javase.txt 42 File f4 = new File("E:\\itcast\\javase.txt"); 43 // System.out.println(f4.mkdir());//创建了一个javase.txt目录,不能根据路径名决定是文件还是目录 44 System.out.println(f4.createNewFile());//会返回false,因为不能存在同名的,不管是文件还是目录 45 46 } 47 }
File类判断和获取功能
1 import java.io.File; 2 import java.io.IOException; 3 4 /* 5 File类判断和获取功能** 6 7 public boolean isDirectory() 测试此抽象路径名表示的File是否为目录 8 public boolean isFire()测试此抽象路径名表示的File是否为文件 9 public boolean exists()测试此抽象路径名表示的File是否存在 10 11 public String getAbsolutePath()返回此抽象路径名的绝对路径名字符串 12 public String getPath()将此抽象路径名转换为路径名字符串 13 public String getName()返回由此抽象路径名表示的文件或目录的名称 14 15 public String[] list()返回此抽象路径名表示的目录中的文件和目录的名称字符串数组 16 public File[] listFiles()返回此抽象路径名表示的目录中的文件和目录的File对象数组 17 18 */ 19 20 public class FileDemo2 { 21 public static void main(String[] args) throws IOException { 22 //创建一个file对象 23 File f = new File("java.txt"); 24 // System.out.println(f.createNewFile()); 25 26 // public boolean isDirectory() 测试此抽象路径名表示的File是否为目录 27 // public boolean isFire()测试此抽象路径名表示的File是否为文件 28 // public boolean exists()测试此抽象路径名表示的File是否存在 29 System.out.println(f.isDirectory()); 30 System.out.println(f.isFile()); 31 System.out.println(f.exists()); 32 /*运行结果: 33 false 34 true 35 true 36 */ 37 38 // public String getAbsolutePath()返回此抽象路径名的绝对路径名字符串 39 // public String getPath()将此抽象路径名转换为路径名字符串 40 // public String getName()返回由此抽象路径名表示的文件或目录的名称 41 System.out.println(f.getAbsolutePath()); 42 System.out.println(f.getPath()); 43 System.out.println(f.getName()); 44 /*运行结果: 45 F:\Users\ASUS\eclipse-workspace\hello java\java.txt 46 java.txt//封装的路径 47 java.txt//路径的名称 48 */ 49 50 System.out.println("---------"); 51 // public String[] list()返回此抽象路径名表示的目录中的文件和目录的名称字符串数组 52 // public File[] listFiles()返回此抽象路径名表示的目录中的文件和目录的File对象数组 53 File f2 = new File("E:itcast"); 54 String[] strArray = f2.list(); 55 for (String str : strArray) { 56 System.out.println(str); 57 } 58 System.out.println("---------"); 59 File[] fileArray = f2.listFiles(); 60 for (File file : fileArray) { 61 // System.out.println(file); 62 // System.out.println(file.getName()); 63 if (file.isFile()) {//如果是文件就输出名称 64 System.out.println(file.getName()); 65 } 66 67 } 68 69 } 70 }
File类删除功能
绝对路径和相对路径的区别
- 绝对路径:完整的路径名,不需要任何其他信息就可以定位它所代表示的文件。例如:E:\ \tcast\ \java.txt
- 相对路径:必须使用取自其他路径名的信息进行解释。例如:javafile\ \java.txt
删除目录时的注意事项:
- 如果一个目录中有内容(目录,文件),不能直接删除。应该先删除目录中的内容,最后才能删除目录
1 import java.io.File; 2 import java.io.IOException; 3 4 /* 5 File类删除功能 6 7 public boolean delete() 删除由此抽象路径名表示的文件或目录 8 9 */ 10 public class FileDemo3 { 11 public static void main(String[] args) throws IOException { 12 // File f1=new File("E:\\itcast\\java.txt"); 13 //需求1:在当前模块目录下创建java.txt文件 14 File f1 = new File("java.txt"); 15 // System.out.println(f1.createNewFile()); 16 17 // 需求2:删除当前模块目录下的java.txt文件 18 System.out.println(f1.delete()); 19 System.out.println("--------"); 20 21 // 需求3:在当前模块下创建ifcast目录 22 File f2 = new File("itcast"); 23 // System.out.println(f2.mkdir()); 24 25 // 需求4:删除当前模块下创建ifcast目录 26 System.out.println(f2.delete()); 27 System.out.println("--------"); 28 29 // 需求5:在当前模块下创建itcast目录,然后再该目录下创建java.txt文件 30 File f3 = new File("itcast"); 31 // System.out.println(f3.mkdir()); 32 File f4 = new File("itcast\\java.txt"); 33 //若没有上级目录:java.io.IOException: 系统找不到指定的路径。 34 // System.out.println(f4.createNewFile()); 35 36 // 需求6:删除当前模块下的目录itcast 37 System.out.println(f4.delete()); 38 System.out.println(f3.delete());//false:如果要删除的目录下面还有内容,就不能直接删 39 40 } 41 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY