时间:2021-05-20
Java读取其下所有文件夹与文件的路径,具体内容如下
如果在f:\aa文件夹中,有如下图的文件夹与文件:
那么,在Java中,则如此读取f:/aa下的所有文件路径:
1、首先由于用到了文件与容器类下的ArrayList,所以在开头要引入如下包:
import java.io.*; import java.util.*;2、方法如下,其中File dirFile除了盘符,比如f:,以外,能够接受一切合法的路径。由于盘符下含有一些系统文件,拒绝访问,因为读取盘符,可能会出现空指针异常。
其上的方法,是不读取f:\aa下的新建文件夹下的xlsx,如果在读取的过程中,遇到文件夹要同时读取其包含所有子文件夹、文件时,则要用到递归,先设置一个全局的动态数组:
然后方法如下:
其实在读取的过程中,关键是利用listFiles()方法,获取本文件夹下的所有文件列表,之后和《【Java】移动文件夹及其所有子文件与子文件夹》 (点击打开链接), 《【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作》 (点击打开链接)一样,遇到文件夹则进行递归。
上面整个方法的来起来是这样的一个java文件:
import java.io.*; import java.util.*; public class fileList { // 设置一个全局动态数组,来存放文件路径 // 主要遍历文件夹,包含所有子文件夹、文件的情况时,用到递归,所以要这样设置 public static ArrayList<String> dirAllStrArr = new ArrayList<String>(); // 这里是仅仅查询当前路径下的所有文件夹、文件并且存放其路径到文件数组 // 由于遇到文件夹不查询其包含所有子文件夹、文件,因此没必要用到递归 public static ArrayList<String> Dir(File dirFile) throws Exception { ArrayList<String> dirStrArr = new ArrayList<String>(); if (dirFile.exists()) { // 直接取出利用listFiles()把当前路径下的所有文件夹、文件存放到一个文件数组 File files[] = dirFile.listFiles(); for (File file : files) { // 如果传递过来的参数dirFile是以文件分隔符,也就是/或者\结尾,则如此构造 if (dirFile.getPath().endsWith(File.separator)) { dirStrArr.add(dirFile.getPath() + file.getName()); } else { // 否则,如果没有文件分隔符,则补上一个文件分隔符,再加上文件名,才是路径 dirStrArr.add(dirFile.getPath() + File.separator + file.getName()); } } } return dirStrArr; } public static void DirAll(File dirFile) throws Exception { if (dirFile.exists()) { File files[] = dirFile.listFiles(); for (File file : files) { // 如果遇到文件夹则递归调用。 if (file.isDirectory()) { // 递归调用 DirAll(file); } else { // 如果遇到文件夹则放入数组 if (dirFile.getPath().endsWith(File.separator)) { dirAllStrArr.add(dirFile.getPath() + file.getName()); } else { dirAllStrArr.add(dirFile.getPath() + File.separator + file.getName()); } } } } } public static void main(String[] args) throws Exception { File dirFile = new File("f:/aa"); System.out.println(Dir(dirFile)); DirAll(dirFile); System.out.println(dirAllStrArr); } }运行结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文与《【Java】读取其下所有文件夹与文件的路径》(点击打开链接)为姊妹篇,主要讲述Python对于文件信息的读取操作。Python对于文件信息的读取操作,在
java读取某个文件夹下的所有文件学习java基础知识,读取文件,读取某个文件夹,需要读取所有文件,如何实现呢,看下实例代码。实例代码:importjava.i
一、删除文件夹例:rm-rf/usr/java将会删除/usr/java目录以及其下所有文件、文件夹二、删除文件例:rm-f/usr/tomcat/conf/s
在Java移动文件夹及其所有子文件与子文件夹可以有如下的一段简单的方法来说明:publicstaticvoidmoveFolder(StringoldPath,
本文实例讲述了php读取出一个文件夹及其子文件夹下所有文件的方法。分享给大家供大家参考,具体如下:今天的需求要在一个文件夹中读取出这个文件夹下所有的文件,当然也