你那个type没看出有啥用,给你改了
import javaioFile;
import javautilVector;
public class A {
public static void recursion(String root, Vector<String> vecFile) {
File file = new File(root);
File[] subFile = filelistFiles();
for (int i = 0; i < subFilelength; i++) {
if (subFile[i]isDirectory()) {
recursion(subFile[i]getAbsolutePath(), vecFile);
} else {
String filename = subFile[i]getName();
vecFileadd(filename);
}
}
}
public static void main(String[] args) {
Vector<String> vecFile = new Vector<String>();
recursion("E:/A", vecFile);
for (String fileName : vecFile) {
Systemoutprintln(fileName);
}
}
}
=================
文件名都给你打出来了,你还想咋处理????
=================
得不到,文件名只不过是一个字符串,没有任何实际意义,除非得到文件名的时候得到文件大小。我给你改了下,Vector里放的是File而不是文件名了,你想干啥都行了
import javaioFile;
import javaioFileInputStream;
import javaioFileNotFoundException;
import javaioIOException;
import javautilVector;
public class A {
public static void recursion(String root, Vector<File> vecFile) {
File file = new File(root);
File[] subFile = filelistFiles();
for (int i = 0; i < subFilelength; i++) {
if (subFile[i]isDirectory()) {
recursion(subFile[i]getAbsolutePath(), vecFile);
} else {
vecFileadd(subFile[i]);
}
}
}
public static void main(String[] args) throws FileNotFoundException, IOException {
Vector<File> vecFile = new Vector<File>();
recursion("E:/A", vecFile);
for (File file : vecFile) {
Systemoutprintln(filegetName() + " " + new FileInputStream(file)available());
}
}
}
JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)
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;
}
/
取得相对于当前连接目录的某个目录下所有文件列表
@param path
@return
/
public List getFileList(String path){
List list = new ArrayList();
DataInputStream dis;
try {
dis = new DataInputStream(ftpClientnameList(thispath + path));
String filename = "";
while((filename = disreadLine()) != null){
listadd(filename);
}
} catch (IOException e) {
eprintStackTrace();
}
return list;
}
我从这里拷来的 你不清楚看看里面 >
以上就是关于JAVA 中在一个函数中遍历文件夹里面的所有文件,获取他们的文件名,怎么把这些文件名存到一个数组中。全部的内容,包括:JAVA 中在一个函数中遍历文件夹里面的所有文件,获取他们的文件名,怎么把这些文件名存到一个数组中。、java怎么循环读取目录下的文件内容、java如何获取ftp制定目录下所有文件集合(包括文件名称)只要一个方法。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)