其读取方法为:
import java.io.Fileimport java.io.FileNotFoundException
import java.io.IOException
import java.util.ArrayList
public class readFile {
private static ArrayList<String> listname = new ArrayList<String>()
public static void main(String[] args)throws Exception{
readAllFile("C:/Users/HP/Desktop")
System.out.println(listname.size())
}
public static void readAllFile(String filepath) {
File file= new File(filepath)
if(!file.isDirectory()){
listname.add(file.getName())
}else if(file.isDirectory()){
System.out.println("文件")
String[] filelist=file.list()
for(int i = 0i<filelist.lengthi++){
File readfile = new File(filepath)
if (!readfile.isDirectory()) {
listname.add(readfile.getName())
} else if (readfile.isDirectory()) {
readAllFile(filepath + "\\" + filelist[i])//递归
}
}
}
for(int i = 0i<listname.size()i++){
System.out.println(listname.get(i))
}
}
}
java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中。假设指定路径为path,目标集合为fileList,遍历指定路径下的所有文件,如果是目录文件则递归调用,如果是普通文件则放入fileList中。
根据这个思路,得到java源代码如下所示:
//方法getFiles根据指定路径获取所有的文件
public void getFiles(String path){
//目标集合fileList
ArrayList<File>fileList = new ArrayList()
File file = new File(path)
if(file.isDirectory()){
File []files = file.listFiles()
for(File fileIndex:files){
//如果这个文件是目录,则进行递归搜索
if(fileIndex.isDirectory()){
getFiles(fileIndex.getPath())
}else {
//如果文件是普通文件,则将文件句柄放入集合中
fileList.add(fileIndex)
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)