我给你个例子,你把其中的路径File file = new File("c:\\tmp\\5");改成你的路径就行了。
public class Test2
{
public static void main(String[] args)
{
File file = new File("c:\\tmp\\5");
Test2 t = new Test2();
tmethod(file);
}
public void method(File f)
{
File[] FList = flistFiles();
for (int i = 0; i < FListlength; i++)
{
if (FList[i]isDirectory()==true)
{
method(FList[i]);
}
else
{
Systemoutprintln(FList[i]getAbsolutePath());
}
}
}
}
public static List<File> getFiles(String path){
File root = new File(path);
List<File> files = new ArrayList<File>();
if(!rootisDirectory()){
filesadd(root);
}else{
File[] subFiles = rootlistFiles();
for(File f : subFiles){
filesaddAll(getFiles(fgetAbsolutePath()));
}
}
return files;
}
public static void main(String[] args) {
List<File> files = getFiles("D:\\usr\\local\\java\\jdk160_30");
for(File f : files){
Systemoutprintln(fgetName());
}
}
大概就是这样了,没有做异常处理,自己看着办~
1不使用递归的方法调用。
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0;
File file = new File(path);
if (fileexists()) {
LinkedList<File> list = new LinkedList<File>();
File[] files = filelistFiles();
for (File file2 : files) {
if (file2isDirectory()) {
Systemoutprintln("文件夹:" + file2getAbsolutePath());
listadd(file2);
fileNum++;
} else {
Systemoutprintln("文件:" + file2getAbsolutePath());
folderNum++;
}
}
File temp_file;
while (!listisEmpty()) {
temp_file = listremoveFirst();
files = temp_filelistFiles();
for (File file2 : files) {
if (file2isDirectory()) {
Systemoutprintln("文件夹:" + file2getAbsolutePath());
listadd(file2);
fileNum++;
} else {
Systemoutprintln("文件:" + file2getAbsolutePath());
folderNum++;
}
}
}
} else {
Systemoutprintln("文件不存在!");
}
Systemoutprintln("文件夹共有:" + folderNum + ",文件共有:" + fileNum);
}
2使用递归的方法调用
public static List<File> getFileList(String strPath) {
File dir = new File(strPath);
File[] files = dirlistFiles(); // 该文件目录下文件全部放入数组
if (files != null) {
for (int i = 0; i < fileslength; i++) {
String fileName = files[i]getName();
if (files[i]isDirectory()) { // 判断是文件还是文件夹
getFileList(files[i]getAbsolutePath()); // 获取文件绝对路径
} else if (fileNameendsWith("avi")) { // 判断文件名是否以avi结尾
String strFileName = files[i]getAbsolutePath();
Systemoutprintln("---" + strFileName);
filelistadd(files[i]);
} else {
continue;
}
}
}
return filelist;
}
以上就是关于java代码 读取一个文件夹下的所有文件夹及里面的文件。全部的内容,包括:java代码 读取一个文件夹下的所有文件夹及里面的文件。、java 循环读取一个指定文件夹下的所有文件,提供大致代码的思路吧,谢谢~、java怎么循环读取目录下的文件内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)