求C目录下的某个文件大小,包括它里面的所有文件和文件夹

要java代码

第1个回答  2010-12-23
1、文件大小:
使用 FileInfo ,添加引用IO,
OpenFileDialog op1 = new OpenFileDialog();
if (op1.ShowDialog() == DialogResult.OK)
{
FileInfo fi = new FileInfo(op1.FileName);
this.Text = (fi.Length/1024).ToString()+"kb";
}
2、所有文件和文件夹
using System.IO;

DirectoryInfo dir = new DirectoryInfo("c:\\");
DirectoryInfo[] listdir=dir.GetDirectories();
FileInfo[] listfile=dir.GetFiles();

3、可以取子目录
int fileNum = 0;
/**//// <summary>
/// 获取某目录下的所有文件(包括子目录下文件)的数量
/// </summary>
/// <param name="srcPath"></param>
/// <returns></returns>
public int GetFileNum(string srcPath)
{
try
{

// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
string[] fileList = System.IO.Directory.GetFileSystemEntries(srcPath);
// 遍历所有的文件和目录
foreach(string file in fileList)
{
// 先当作目录处理如果存在这个目录就重新调用GetFileNum(string srcPath)
if(System.IO.Directory.Exists(file))
GetFileNum(file);
else
fileNum++;
}

}
catch (Exception e)
{
MessageBox.Show (e.ToString());
}
return fileNum;
}
第2个回答  2010-12-23
用递归循环方法列出目录结构

import java.io.*;
public class FileList {
public static void main(String[] args) {
File f = new File("d:/java");
System.out.println(f.getName());
tree(f,1);
}

private static void tree(File f, int level) { //递归

String preStr = "";
for(int i=0; i<level; i++) {
preStr += " ";
}

File[] childs = f.listFiles();
for(int i=0; i<childs.length; i++) {
System.out.println(preStr + childs[i].getName());
if(childs[i].isDirectory()) {
tree(childs[i], level + 1);
}
}
}
}

可以列出D盘的java目录下的所以文件名(只要java文件夹下有文件)
第3个回答  2010-12-23
楼上的好像是C#代码吧本回答被网友采纳
相似回答
大家正在搜