根据文件级数获取当前级数下的所有文件及文件目录
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* author ss
* createTime 2020/4/22
*
***/
public class FileUtil {
/**
* Author:
* Description:获取某个目录下所有直接下级文件,不包括目录下的子目录的下的文件,所以不用递归获取
* Date:
*/
public static List<String> getFiles(String path) {
List<String> files = new ArrayList<String>();
File file = new File(path);
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
files.add(tempList[i].toString());
}
if (tempList[i].isDirectory()) {
files.add(tempList[i].toString());
}
}
return files;
}
/**
* Author:ss
* Description:根据文件路径级数获取级数下所有文件及文件夹
* Date:
*/
public static String getLevelFile(String path, Integer level) {
String[] str = path.split("/");
StringBuilder stb = new StringBuilder();
for (int i = 0; i < str.length; i++) {
if (i <= level) {
stb.append(str[i]);
stb.append("/");
}
}
return stb.toString().substring(0, stb.toString().lastIndexOf("/"));
}
public static void main(String[] args) {
String path = "C:/Users/Administrator/Documents/WeChat Files/MSGSH20/FileStorage/File";
List<String> files = getFiles(getLevelFile(path, 7));
for (String s : files) {
System.out.println("当前目录下的所有文件及文件夹" + s);
}
}
}