网站首页 > java教程 正文
今天,我们来一起看看File这个类。是干嘛用的呢?
-----处理文件。
先看看File的位置所在。Java.io这个包中。IO的话。我们知道是和文件打交道的。程序加载外面的文件。然后把程序中的文件下载下来。所以我们File也是这方面的。
先看下File的exists()方法。是判断文件在不在。
那如果文件不存在呢?
创建:
可以用到下面这几个的创建方法
createNewFile() 返回的也是一个Boolean。
mkdri(): 创建一个文件夹。如果不存在就创建
注意:如果没有写盘符的话。例如这样的:
这个创建的文件夹是在项目下。就是和src一个级别。打开项目后就能找到这个目录。
mkdirs():创建多级目录。
可以看到不是给test添加一个aaa目录。而是从新添加一个aaa目录。然后里面有个test。
修改:renameTo():
删除:delete();
可以删除文件,也可以删除文件夹。删除的时候一定要小心。直接进行删除了,
(老司机们应该都知道 rm -rf 的后果)
并不需要走回收站。
刚我们创建的这个带子文件夹的aaa。要删除的时候如果test里面没有文件了。就把test删除掉。如果有文件。是删除不掉的。返回的false
下面看看几个判断:
IsDirectory(): 是否是文件夹
isFile(): 是否是文件
exists(): 是否存在
canRead(): 是否可读
canWrite(): 是否可写
isHidden(): 是否隐藏
获取:
getAbsolutePath(): 获取绝对路径。
getPath(): 获取路径
getName(): 获取名字
length(): 获取长度,字节数
lastModified(): 获取最后一次修改的时间
list(): 获取指定目录下的所有文件或者文件夹的名称数组
返回的是String[]
listFiles(): 获取指定目录下的所有文件或者文件夹的File数组
返回的是File[]
输出指定目录下指定后缀的文件名
用到的是endsWith();
输出结果:
项目中的使用:
我们在项目中经常会使用到获取路径。可以使用我们File中的getAbsolutePath(),getPath()这两个方法。获取到文件后,就可以创建Java的流。然后去做想做的事。File类更多的还是和流相结合的使用。比如我们项目在生产环境中,不可缺少的就是代码日志。我们可以通过日志的文件位置,然后封装成File。然后创建流。加载到项目中。而且可以在项目中测试辛苦编写的代码是否正确。如果出现错误。我们可以用过日志的打印结果。进一步的定位到错误。进行修改。非常方便。
File在项目中还有更多的使用。希望大家能不吝啬的分享出来。大家一起学习,进步。
猜你喜欢
- 2024-10-06 一文搞定java.lang.Class.isInstance和instanceof的区别
- 2024-10-06 如何使用Java 文件系统 File类?(java files类)
- 2024-10-06 Spring问题之提示文件不存在处理it does not exist
- 2024-10-06 Java中类加载器的工作原理(java中类加载器有几种)
- 2024-10-06 java常见问题(java常见问题及答案)
- 2024-10-06 「Java」常用的文件操作(java 文件处理)
- 2024-10-06 JAVA中的文件操作2-如何读写文件(java高并发读写文件)
- 2024-10-06 bitmap算法:如何在20亿个非负整数中如何判断一个数是否存在?
- 2024-10-06 Java 如何验证文件名的有效性?(java判断文件名包含字符串)
- 2024-10-06 java中读取properties文件最简单的方法
你 发表评论:
欢迎- 最近发表
-
- 你真的会用 Java 中的线程池吗?多个企业级线程池工具类封装实践
- 线程池的实现原理、优点与风险、以及四种线程池实现
- Java线程池ThreadPoolExecutor实现原理剖析
- 深入分析线程池的实现原理(线程池是干嘛的)
- 一文搞懂JAVA线程池工作原理(java线程池的工作流程)
- Java线程池的工作原理(java线程池的实现原理)
- 5分钟读懂C#中TcpClient、TcpListener和Socket三个类的角色
- JVM对象的创建过程(jvm运行过程中创建的对象一般存放在方法区)
- 对象组成与Java内存模型JMM分析(java对象在内存中存储的结构)
- JVM对象内存分配详细过程(栈上分配->TLAB->老年代->Eden区)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)