详解Java目录操作与文件操作教程
目录
- 目录操作
- 创建目录
- 判断这个文件或目录是否存在
- 判断是否是目录
- 读取目录
- 删除目录
- 文件操作
- 创建文件
- 删除文件
- File对象常用函数
目录操作
创建目录
File类中有两个方法可以用来创建文件夹:
mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径还不存在,该文件夹不能被创建。 mkdirs()方法创建一个文件夹和它的所有父文件夹。
创建目录AAA路径为D:AAA
public class Mk {public static void main(String[] args) {File file=new File("D://AAA"); file.mkdir(); }}
文章图片
创建多重目录,路径为D:/BBB/BB/B
public class Mk {public static void main(String[] args) {File file=new File("D://BBB/BB/B"); file.mkdirs(); }}
文章图片
判断这个文件或目录是否存在
如果创建一个 File 对象并且它存在,那么调用 sexists() 方法会返回 true。
public class Mk {public static void main(String[] args) {File file=new File("D://BBB/BB/B"); System.out.println(file.sexists() ); }}
文章图片
判断是否是目录
如果创建一个 File 对象并且它是一个目录,那么调用 isDirectory() 方法会返回 true。
public class Mk {public static void main(String[] args) {File file=new File("D://BBB/BB/B"); System.out.println(file.isDirectory()); }}
文章图片
读取目录
一个目录其实就是一个 File 对象,它包含其他文件和文件夹。 可以通过调用该对象上的 list() 方法,来提取它包含的文件和文件夹的列表。
查看目录BBB中有哪些文件和目录
这是目录中的文件和目录
文章图片
用代码在控制台输出
public class Mk {public static void main(String[] args) {File file=new File("D://BBB"); String[] ss=file.list(); for (String s : ss) {System.out.println(s); }}}
文章图片
删除目录
删除文件可以使用 java.io.File.delete() 方法。 以下代码会删除目录 D://BBB/BB/B,需要注意的是当删除某一目录时,必须保证该目录下没有其他文件才能正确删除,否则将删除失败。
public class Mk {public static void main(String[] args) {//删除目录D://BBB/BB/BFile file=new File("D://BBB/BB/B"); file.delete(); }}
文章图片
文件操作
创建文件
在目录AAA下创建文件aaa.txt
public class Mk {public static void main(String[] args) throws IOException {File file=new File("D://AAA/aaa.txt"); file.createNewFile(); }}
文章图片
删除文件
删除aaa.txt
public class Mk {public static void main(String[] args) throws IOException {File file=new File("D://AAA/aaa.txt"); file.delete(); }}
文章图片
File对象常用函数
创建:
1、createNewFile() 指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false。
2、mkdir() 在指定位置创建一个单级文件夹。
3、mkdirs() 在指定位置创建一个多级文件夹。
4、renameTo(File dest) 如果目标文件与源文件是在同一个路径下,那么renameTo的作用是重命名, 如果目标文件与源文件不是在同一个路径下,那么renameTo的作用就是剪切,而且还不能操作文件夹。
删除:
- delete() 删除文件或者一个空文件夹,不能删除非空文件夹,马上删除文件,返回一个布尔值。
- deleteOnExit() jvm退出时删除文件或者文件夹,用于删除临时文件,无返回值。
- exists() 文件或文件夹是否存在。
- isFile() 是否是一个文件,如果不存在,则始终为false。
- isDirectory() 是否是一个目录,如果不存在,则始终为false。
- isHidden() 是否是一个隐藏的文件或是否是隐藏的目录。
- isAbsolute() 测试此抽象路径名是否为绝对路径名。
- getName() 获取文件或文件夹的名称,不包含上级路径。
- getAbsolutePath() 获取文件的绝对路径,与文件是否存在没关系
- length() 获取文件的大小(字节数),如果文件不存在则返回0L,如果是文件夹也返回0L。
- getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。
- lastModified() 获取最后一次被修改的时间。
- static File[] listRoots() 列出所有的根目录(Window中就是所有系统的盘符)
- list() 返回目录下的文件或者目录名,包含隐藏文件。对于文件这样操作会返回null。
- listFiles() 返回目录下的文件或者目录对象(File类实例),包含隐藏文件。对于文件这样操作会返回null。
- list(FilenameFilter filter) 返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。
- listFiles(FilenameFilter filter) 返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。
推荐阅读
- 详细聊一聊js防抖节流到底是什么
- Java程序常见问题分析|S14(构造函数)
- Android事件分发机制详解(史上最全面最易懂)
- 转(android Support 兼容包详解)
- Java开发中关于资源路径获取问题
- InfyTQ面试经验(升级测试)
- Java|Java面向对象的三大特征之继承
- Java|谈谈java中封装的那点事
- Java|全面理解java中的构造方法以及this关键字的用法(超详细)
- Java|java中抽象类和接口的异同点