当前位置: 首页 > news >正文

Java核心API——File类

今天我们来介绍一下Java中处理文件的一个关键类——File类

File类简介

File类的每一个实例用于表示文件系统中的一个文件或目录(本质是保存一个路径) 使用File我们可以:

1:访问文件或目录的属性(名字,大小等信息)

2:创建/删除 文件或目录

3:访问一个目录中的所有子项

但是不能访问文件数据

 访问文件

 值得注意的是在这里我们需要访问的文件用到的是相对路径,那么我也顺便介绍一下什么是相对路径,什么又是绝对路径。

相对路径与绝对路径

 相对路径

相对路径是相对于当前工作目录的路径。它不会从根目录开始,而是从当前工作目录出发,根据提供的路径信息来找到目标文件或目录。这意味着,相同的相对路径可能会因为当前工作目录的不同而指向不同的文件或目录。

例如:./demo.txt

绝对路径

绝对路径是完整的文件或目录的路径,从根目录(或某个特定的根目录,如Windows中的C:\或Unix/Linux中的/)开始,一直到文件或目录所在的位置。它包含了访问文件或目录所需的所有目录名,并以文件或目录的名称结束。绝对路径是唯一的,不会因为当前工作目录的改变而改变。

例如:C:\Users\Name\demo.txt

代码实例 

        File file = new File("./demo.txt");String name = file.getName();System.out.println("name:" + name);Long len = file.length();System.out.println("大小:" + len);//是否可读boolean canRead = file.canRead();System.out.println(canRead);//是否可写boolean canWrite = file.canWrite();System.out.println(canWrite);//文件是否隐藏boolean is_Hidden = file.isHidden();System.out.println(is_Hidden);

同样的有个小细节也需要注意的是文件名的大小写,在window操作系统中在默认情况下对文件名大小写不敏感,但是在在UNIX、Linux和macOS这样的操作系统上,文件系统通常是大小写敏感的。 因此为了为了编写可移植的代码,最好采用统一的命名规范,避免因为大小写问题而导致在不同平台上运行时出现错误。

文件(文件夹)的创建与删除 

对于文件以及文件夹的创建与删除语法上略有不同以及有些值得注意的地方,因此我们分开来讲

文件的创建与删除

文件的创建如下:

        /*boolean createNewFile()当且仅当File表示的路径下不存在且实际创建出文件时返回true*/file.createNewFile();/*boolean exists()判断当前File表示的路径下是否真实存在该文件或者目录,如果存在则返回true*/if (file.exists()) {System.out.println("该文件已经存在");} else {file.createNewFile();System.out.println("创建成功");}

文件的删除: 

        //将当前目录下的test.txt删除for (int i = 1; i <= 10; i++) {File file = new File("./test" + i + ".txt");System.out.println(file.delete()?"成功":"失败");}

此外在删除时我们也应该小心,这与你在文件管理器中点删除不同,文件管理器中删除是将文件移到垃圾回收站中,是可以复原的,但是使用delete时则是完全删除,因此小心你的重要文件。 

 文档的创建与删除

        //在当前项目目录下创建一个目录(文件夹):demoFile dir = new File("./demo");dir.mkdir();File dir1=new File("./a/b/c/d/e");dir1.mkdirs();//目录删除时要求必须是空目录,否则删除失败
//        dir.delete();
//        dir1.delete();

 

 

 

 

 

 


http://www.mrgr.cn/news/8093.html

相关文章:

  • 程序员:全栈的痛你不知道
  • Spring Boot 中的 starter 是什么
  • 13.订单页面的展示
  • JVM类加载机制—类加载器和双亲委派机制详解
  • HAL库中断处理函数 及 weak弱声明中断回调函数
  • 出现 2003 - Can’t connect to MySQL server on ‘xxx‘(10060) 解决方法
  • 05.C++类和对象(下)
  • Android 息屏录音
  • 速盾:cdn能防止攻击么?
  • 15.CentOS7升级内核
  • C语言 | Leetcode C语言题解之第372题超级次方
  • 链动 2+1 模式小程序 AI 智能名片商城源码培训邀约策略研究
  • 拓扑感知多模态融合在神经动态表征学习和分类中的应用
  • Python编码系列—Python AJAX与异步请求:打造高效响应的Web应用
  • SQL每日一题-0823(难度提升题)
  • 欺诈文本分类微调(七)—— lora单卡二次调优
  • 机器学习解决方案(Datawhale X 李宏毅苹果书 AI夏令营)
  • Xilinx官方XDMA驱动解析
  • Kubernetes 中如何对 etcd 进行备份和还原
  • java swagger解析解决[malformed or unreadable swagger supplied]