package com.kysb.util;import java.io.File;
import java.util.ArrayList;
import java.util.List;import com.kysb.orm.FileInfo;/***
 * 此类的作用是给一个 文件。列出 其下的子文件。并把文件名。文件路径 文件创建时间封装到com.kysb.util.FileInfo类里。并返回
 * 
 * */
public class FileList { private FileInfo fileInfo;
List<FileInfo> listF = new ArrayList<FileInfo>(); public List<FileInfo> getFileInfo(String rootPath) {
File f = new File(rootPath); return this.tree(f);
} public List<FileInfo> tree(File f) { File[] childs = f.listFiles();
for (int i = 0; i < childs.length; i++) {
if (childs[i].isDirectory()) {
tree(childs[i]);
}
if (childs[i].isFile()) { fileInfo.setFileName(childs[i].getName());
fileInfo.setFileSavePath(childs[i].getPath());
fileInfo.setFileLoadTime(childs[i].lastModified());
listF.add(fileInfo);
System.out.println(" 第" + i + "打印"
+ listF.get(i).getFileName()); }
}
for (int i = 0; i < listF.size(); i++) { System.out.println("在listF中" + i + "打印"
+ listF.get(i).getFileName()); }
return listF;
} public void setFileInfo(FileInfo fileInfo) {
this.fileInfo = fileInfo;
} public FileInfo getFileInfo() {
return fileInfo;
}
}
结果为:为什么返回的listF中装的是重复的同一个 object啊信息: Server startup in 20810 ms
 第0打印afei.txt
 第1打印ddes.txt
 第2打印ddgd档.txt
在listF中0打印ddgd档.txt
在listF中1打印ddgd档.txt
在listF中2打印ddgd档.txt
在listF中0打印ddgd档.txt
在listF中1打印ddgd档.txt
在listF中2打印ddgd档.txt