File
* 构造方法:
* File(File parent, String child)
* 从父抽象路径名和子路径名字符串创建新的 File实例。
* File(String pathname)
* 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
* File(String parent, String child)
* 从父路径名字符串和子路径名字符串创建新的 File实例。
public class FileDemo1 { public static void main(String[] args) { File file = new File("F:\\demo\\a.txt"); System.out.println(file); //F:\demo\a.txt File file1 = new File("F:\\demo", "a.txt"); System.out.println(file1); //F:\demo\a.txt File file2 = new File("F:\\demo"); File file3 = new File(file2, "a.txt"); System.out.println(file3); //F:\demo\a.txt } }
* 创建功能
* public boolean createNewFile() 创建文件
* public boolean mkdir() 创建文件夹
* public boolean mkdirs() 创建多级文件夹,多级目录
* 删除功能
* public boolean delete()
* 重命名功能
* public boolean renameTo(File dest)
public class FileDemo2 { public static void main(String[] args) throws IOException { File file = new File("F:\\demo2"); // System.out.println(file.mkdir()); //true File file1 = new File("F:\\demo2\\a.txt"); System.out.println(file1.createNewFile()); //true File file2 = new File("F:\\demo2\\demo3\\demo4"); System.out.println(file2.mkdirs()); //true File file3 = new File("F:\\demo2\\demo3\\demo4"); System.out.println(file3.delete()); //true 删除了demo4 File file4 = new File("F:\\demo2"); System.out.println(file4.delete()); //false 只能删除空文件夹 File file5 = new File("F:\\demo2\\zyl.jpg"); System.out.println(file5.createNewFile()); //true File file6 = new File("F:\\demo2\\zzz.jpg"); System.out.println(file5.renameTo(file6)); //修改文件名,必须要有完成路径 } }
判断功能
* public boolean isDirectory() 是否是文件夹
* public boolean isFile() 是否是文件
* public boolean exists() File对象是否存在
* public boolean canRead() 是否可读
* public boolean canWrite() 是否可写
* public boolean isHidden() 是否隐藏
import java.io.File; import java.io.IOException; public class FileDemo3 { public static void main(String[] args) throws IOException { File file = new File("a.txt"); System.out.println(file.createNewFile()); System.out.println(file.getAbsolutePath()); //D:\ALanzhishujia\shujia12\a.txt System.out.println(file.isDirectory()); //false System.out.println(file.isFile()); //true System.out.println(file.exists()); //true System.out.println(file.canRead()); //true System.out.println(file.canWrite()); //true System.out.println(file.isHidden()); //false } }
* public String getAbsolutePath() 获取绝对路径,或者说是完整路径
* public String getPath() 获取相对路径
* public String getName() 获取名称
* public long length() 获取的长度是字节数
* public long lastModified() 获取到的是时间戳,精确到毫秒
* 高级获取功能
* public String[] list() 获取指定目录下的所有文件或者文件夹的名称数组
* public File[] listFiles() 获取指定目录下的所有文件或者文件夹的File数组
import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; public class FileDemo4 { public static void main(String[] args) throws IOException { File file = new File("abc.txt"); System.out.println(file.createNewFile()); //true System.out.println(file.getAbsolutePath()); //D:\ALanzhishujia\shujia12\abc.txt System.out.println(file.getPath()); //abc.txt System.out.println(file.getName()); //abc.txt System.out.println(file.length()); //0 System.out.println(file.lastModified()); //1628949546747 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String s = sdf.format(file.lastModified()); System.out.println(s); //2021-08-14 09:59:06 System.out.println("----------------------"); File file1 = new File("D:\\ALanzhishujia"); String[] list = file1.list(); for (String s1 : list) { System.out.println(s1); //输出所有文件名 } File[] files = file1.listFiles(); for (File file2 : files) { System.out.println(file2); //输出的是所有完成路径 } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构