java中怎样获得一个文件夹中的所有文件名

java中怎样获得一个文件夹中的所有文件名,第1张

java中获得一个文件夹中的所有文件名代码如下:

package com.readfile

import java.io.File

public class GetAllFiles {

public static void main(String[] args) {

//路径   这里写一个路径进去

String path="F:\\QQ文档"

//调用方法

getFiles(path)

}

 

/**

* 递归获取某路径下的所有文件,文件夹,并输出

*/

public static void getFiles(String path) {

File file = new File(path)

// 如果这个路径是文件夹

if (file.isDirectory()) {

// 获取路径下的所有文件

File[] files = file.listFiles()

for (int i = 0i <files.lengthi++) {

// 如果还是文件夹 递归获取里面的文件 文件夹

if (files[i].isDirectory()) {

System.out.println("目录:" + files[i].getPath())

getFiles(files[i].getPath())

} else {

System.out.println("文件:" + files[i].getPath())

}

}

} else {

System.out.println("文件:" + file.getPath())

}

}

}

扩展资料:

如果想要获得当前文件中的文件名只需要String [] fileName = file.list()就可以了。

如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。

其中public static String [] getFileName(String path)是只得到当前文件中的文件名。

public static void getAllFileName(String path,ArrayList<String>fileName)是包括当前文件及其子文件的文件名。

参考资料:

百度百科-Java

public class Main {

    public static void main(String[] args) {

        File folder = new File(".")

        // 获取这个目录下的所有文件

        File[] files = folder.listFiles()

        // 遍历文件并处理

        for (File file : files) {

            // 处理文件

            System.out.println(file.getName())

        }

    }

}

JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)

1.不使用递归的方法调用。

public void traverseFolder1(String path) {

int fileNum = 0, folderNum = 0

File file = new File(path)

if (file.exists()) {

LinkedList<File>list = new LinkedList<File>()

File[] files = file.listFiles()

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath())

list.add(file2)

fileNum++

} else {

System.out.println("文件:" + file2.getAbsolutePath())

folderNum++

}

}

File temp_file

while (!list.isEmpty()) {

temp_file = list.removeFirst()

files = temp_file.listFiles()

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath())

list.add(file2)

fileNum++

} else {

System.out.println("文件:" + file2.getAbsolutePath())

folderNum++

}

}

}

} else {

System.out.println("文件不存在!")

}

System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum)

}

2.使用递归的方法调用

public static List<File>getFileList(String strPath) {

File dir = new File(strPath)

File[] files = dir.listFiles()// 该文件目录下文件全部放入数组

if (files != null) {

for (int i = 0i <files.lengthi++) {

String fileName = files[i].getName()

if (files[i].isDirectory()) { // 判断是文件还是文件夹

getFileList(files[i].getAbsolutePath())// 获取文件绝对路径

} else if (fileName.endsWith("avi")) { // 判断文件名是否以.avi结尾

String strFileName = files[i].getAbsolutePath()

System.out.println("---" + strFileName)

filelist.add(files[i])

} else {

continue

}

}

}

return filelist

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11847156.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存