Java之IO流详解(一)——File类
创始人
2024-02-17 17:19:12
0

一、File类创建文件

方法说明
public boolean createNewFile()当具有该名称的文件不存在时,创建一个由该抽象路径命名的新空文件
public boolean mkdir()创建由此抽象路径命名的目录
public boolean mkdirs()创建由此抽象路径命名的目录,包括任何必须但不存在的父目录

eg:

public static void main(String[] args) throws IOException {//当具有该名称的文件不存在时,创建一个由该抽象路径命名的新空文件(创建文件)//如果父目录不存在,则会创建不成功File file1 = new File("C:\\Users\\Administrator\\Desktop\\test\\test01\\test01.java");System.out.println(file1.createNewFile());//创建由此抽象路径命名的目录(创建文件夹)//如果父目录不存在,则会创建不成功File file2 = new File("C:\\Users\\Administrator\\Desktop\\test\\test02");System.out.println(file2.mkdir());//创建由此抽象路径命名的目录,包括任何必须但不存在的父目录(创建目录,没有指定的父目录也会一起创建)File file3 = new File("C:\\Users\\Administrator\\Desktop\\test\\test03\\qize");System.out.println(file3.mkdirs());
}

二、File类常用判断方法

方法说明
boolean isDirectory()判断是否是文件夹
boolean isFile()判断是否是文件
boolean exists()判断文件是否存在

eg:

public static void main(String[] args) {File file = new File("C:\\Users\\Administrator\\Desktop\\test\\test01\\test01.java");if(file.isDirectory()){System.out.println("是文件夹");}else{System.out.println("不是文件夹");}if(file.isFile()){System.out.println("是文件");}else{System.out.println("不是文件");}if(file.exists()){System.out.println("文件是存在的");}else{System.out.println("文件不存在");}
}

三、File类常用获取方法

  1. File类常用获取方法
方法说明
String getAbsolutePath()获取绝对路径
String getPath()获取抽象路径名转化路径名字符串
String getName()获取文件或文件夹的名称
String[] list()获取目录下所有内容,返回字符串数组
File[] getlistFiles()获取目录下的所有内容,返回File对象数组

eg:

public static void main(String[] args) {File file = new File("C:\\Users\\Administrator\\Desktop\\test\\test01\\test01.java");//获取绝对路径System.out.println(file.getAbsolutePath());//获取相对路径System.out.println(file.getPath());//获取文件或文件夹的名称System.out.println(file.getName());File file2 = new File("C:\\Users\\Administrator\\Desktop\\test\\test01");//获取目录下所有内容,返回字符串数组String[] list = file2.list();for(String s:list){System.out.println(s);}//获取目录下的所有内容,返回File对象数组File[] files = file2.listFiles();for(File f:files){System.out.println(f);}
}
  1. 绝对路径与相对路径
    (1)绝对路径是指文件在硬盘上真正存在的路径。
    (2)相对路径是java工程中要访问的文件相对于当前文件的位置。
    eg:
public static void main(String[] args) throws IOException {File file = new File("Test05.java");System.out.println(file.createNewFile());System.out.println(file.getAbsolutePath());System.out.println(file.getPath());
}

在这里插入图片描述

四、File类删除操作

方法说明
boolean delete()如果删除路径是一个文件则可以直接删除。如果删除路径是一个目录,不能够直接删除目录。需要先删除该目录下的所有内容,最后才能删除目录。

eg:

public static void main(String[] args) {File file1 = new File("C:\\Users\\Administrator\\Desktop\\test\\test01");//文件夹无法直接删除,因为该文件夹里还有文件,需要先删除该目录下的全部内容,然后才能删除该目录System.out.println(file1.delete());File file2 = new File("C:\\Users\\Administrator\\Desktop\\test\\test01\\test03.java");//文件test03.java可以直接删除System.out.println(file2.delete());
}

五、遍历目录

采用递归算法遍历目录
eg:

public class Test06 {public static void main(String[] args) {File file = new File("C:\\Users\\Administrator\\Desktop\\test");getAllFile(file);}/*** 使用递归算法遍历目录* @param file* @return*/public static void getAllFile(File file){//1、根据listFiles()方法获取到目录下的file集合File[] files = file.listFiles();//2、files数组如果为null,则结束if(files == null){return;}//3、遍历该目录中所有内容for(File f:files){System.out.println(f.getAbsolutePath());//4、如果为目录,则采用递归算法调用本身if(f.isDirectory()){getAllFile(f);}}}
}

六、删除目录

采用递归算法删除目录

eg:

public class Test07 {public static void main(String[] args) {File file = new File("C:\\Users\\Administrator\\Desktop\\test\\test03\\qize");deleteFile(file);}/*** 使用递归算法遍历目录* @param file* @return*/public static void deleteFile(File file){//1、根据listFiles()方法获取到目录下的file集合File[] files = file.listFiles();//2、files数组如果为null,则结束if(files == null){return;}//3、遍历该目录中所有内容for(File f:files){//4、如果为目录,则采用递归算法调用本身if(f.isDirectory()){deleteFile(f);}else {System.out.println(f.getAbsolutePath());//是文件则直接删除f.delete();}}//遍历结束后则代表文件已经全部删除了,这时可以直接删除文件夹了file.delete();}
}

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...