import java.io.File
public class ListFile {
private long[] count = new long[] { 0, 0 }
private File file
private long[] listFile(String path) {
file = new File(path)
File[] f = file.listFiles()
for (int i = 0i <f.lengthi++) {
if (f[i].isDirectory()) {
count[0]++
this.listFile(f[i].getPath())
} else {
count[1]++
}
}
return count
}
/**
*
* @param path
*要查看的路径
* @return object[0]耗时(毫秒)<br>
* object[1]文件夹数量<br>
* object[2]文件数量
*/
public Object[] getFileCount(String path) {
long t = System.currentTimeMillis()
long[] count = this.listFile(path)
t = System.currentTimeMillis() - t
Object[] o = new Object[] { Long.valueOf(t), Long.valueOf(count[0]),
Long.valueOf(count[1])}
return o
}
public static void main(String[] args) {
ListFile l = new ListFile()
Object[] count = l.getFileCount("d:\\")
System.out.println(count[0])
System.out.println(count[1])
System.out.println(count[2])
}
}
以前写的一个获取目录下有多少文件和多少文件夹的代码,
可以参考下.:)
//这是一个计算指定目录所包含文件的总大小的函数//当然涉及了遍历文件及文件夹
void getLength(File file)
{
if(file.isDirectory())
{
File fileArray[]=file.listFiles()
for(int i=0i<fileArray.lengthi++){
getLength(fileArray[i]) //System.out.println(fileArray[i].getPath())
}
}
else if(file.isFile()){
try
{
RandomAccessFile raf=new RandomAccessFile(file,"r")
fileLength=fileLength+raf.length()
raf.close()
}catch(IOException ioe){ioe.printStackTrace()}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)