博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java的File类
阅读量:5281 次
发布时间:2019-06-14

本文共 2438 字,大约阅读时间需要 8 分钟。

Java的File类:既可以当作目录/文件夹,也可以当作文件

说明用例: D:\\JAVA\\mybatis-generator\\serializable\\a.java(绝对路径'\',多加一个'\'代表转义),下面写法也一样,相对路径

文件 : File file  =  new  File("D:/JAVA/mybatis-generator/serializable/a.log");

目录/文件夹 :  File dir  =  new  File("D:/JAVA/mybatis-generator/serializable");

1. 访问文件名相关的方法

String getName() :返回此File对象所表示的文件名或路径名(如果时路径,返回最后一级子路径名)

文件: a.java

文件夹: serializable

String getPath() : 返回此File对象所对应的路径名

文件: D:\JAVA\mybatis-generator\serializable\a.java

File getAbsoluteFile() : 返回此File对象的绝对路径

文件: D:\JAVA\mybatis-generator\serializable\a.java

String getAbsolutePath() : 返回此File对象的绝对路径名

文件: D:\JAVA\mybatis-generator\serializable\a.java

String getParent() : 返回此File对象所对应目录 (最后一级子目录) 的父目录名

文件: D:\JAVA\mybatis-generator\serializable\a.java

boolean renameTo(File newName) : 重命名此File对象所对应的文件合伙目录,如果重命名成功,返回true,失败返回false

重命名文件 : file.renmaTo( new File("D:\\A.java")); ---> 源文件的原有名字和路径都改变

2. 文件检测相关方法

boolean exists() : 判断File对象所对应的文件或目录是否存在

文件: file.exists() --->true

boolean canWrite(): 判断File对象所对应的文件或目录是否可写

文件: file.canWrite() --->true

boolean canRead() : 判断File对象所对应的文件或目录是否可读

文件: file.canRead() --->true

boolean isFile() : 判断File对象所对应的是否是文件,而不是目录

文件: file.isFile() --->true

boolean isDirectory() : 判断File对象所对应的是否是目录,而不是文件

文件: file.isDirectory() --->false

boolean isAbsolute() : 判断File对象所对应的文件或目录是否是绝对路径

文件: file.isAbsolute() --->true

 

3.获取常规文件信息

long  lastModified() : 返回文件的最后修改时间

long length() : 返回文件内容的长度

 

4.文件操作相关的方法

boolean createNewFile() : 当此File对象所对应的文件不存在时,将会创建一个该File对象所指的的新文件,创建成功返回true,否则返回false

boolean delete() : 删除File对象所对应的文件或路径

static File createTempFile(String prefix,String suffix) : 在默认的临时目录/文件夹中创建一个临时的空文件,文件名=prefix + 系统随机数+ suffix

prefix参数的长度>=3字节长,如"hjb","mail",suffix的参数可以为null,在这种情况下,将使用默认的后缀".tmp"

static File createTempFile(String prefix,String suffix,File directory) : 在directory所指定的目录/文件夹中创建一个临时的空文件,文件名=prefix + 系统随机数+ suffix

5. 目录/文件夹操作相关的方法

boolean mkdir() : 创建一个File对象所对应的目录/文件夹,创建成功返回true,否值返回false,注意:File对象是一个目录/文件夹,不是文件

String[] list() : 列出File对象的所有子文件名和目录名,就是当前File对象对应的目录下的所有儿子

File[ ]  listFiles() : 列出File对象的所有子文件名和目录名,返回 File数组

 

常见面试题: 给定一个目录,1. 打印该目录下所有的子目录/文件夹和文件  2. 找出该目录里的文件名为 user.java的文件

 

思路: 给定的目录下,很可能会有子文件夹,子文件夹又有子文件夹........所以需要,实现FilenameFilter接口,重写accept()方法 还要依靠递归调用实现

代码:

 

 

思路2:使用JDK1.8里的 Files工具类方法walkFileTree( Path start, FileVisitor<? super Path> visitor):遍历start路径下所有的文件和子目录,遍历文件和子目录时都会触发FileVisitor中的相应的方法

代码:

 

 

转载于:https://www.cnblogs.com/romulus/p/11053176.html

你可能感兴趣的文章
关于异常Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
查看>>
C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码
查看>>
Android 开发——如何显示 GIF 动画
查看>>
排序接口与抽象类(java)
查看>>
《用户体验要素—以用户为中心的产品设计》笔记(一)
查看>>
JS——操作内容、操作相关元素
查看>>
[詹兴致矩阵论习题参考解答]习题2.3
查看>>
2017-2018-2 PDE 讨论班
查看>>
二维空间中的一个向量场的散度
查看>>
tensorflow 调试tfdbg
查看>>
linux tr命令详解
查看>>
python中groupby函数详解(非常容易懂)
查看>>
SparkSQL简介
查看>>
Callable和Supplier的区别
查看>>
主流Jquery弹出框优缺点对比
查看>>
php易混淆知识点
查看>>
进程和线程
查看>>
团体程序设计天梯赛-练习集-L1-026. I Love GPLT
查看>>
需求分析
查看>>
太极八卦连环掌
查看>>