C# http 遍历文件夹中的文件 我在IIS上建了一个虚拟目录 如:http://10.10.1.137/bjh/ 怎么样靠这个虚拟目录 把里面的文件夹以及文件名称 遍历输出来 希望有高手指教 具体怎么做 有源码就最好了 小弟现在这里多谢了~~~~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 net_lover 于 2011-08-12 14:02:03 编辑 我有一段现成的递归遍历文件夹实现目录拷贝的代码,直接从以前的工程文件里找到的,你看懂了改改就是你要的功能了:http://blog.csdn.net/xinyaping/article/details/6681628 public static bool CopyDirectory(string pathSrc, string pathDst) { if(!Directory.Exists(pathSrc)) { return false; } CreateFullPath(pathDst); DirectoryInfo directorySrc = new DirectoryInfo(pathSrc); DirectoryInfo directoryDst = new DirectoryInfo(pathDst); CopyDirectory(directorySrc, directoryDst); return true; } private static void CopyDirectory(DirectoryInfo srcDictionary, DirectoryInfo dstDictionary) { FileInfo[] srcFiles = srcDictionary.GetFiles(); foreach(FileInfo srcFile in srcFiles) { File.Copy(srcFile.FullName, Path.Combine(dstDictionary.FullName, srcFile.Name), true); } DirectoryInfo[] directorySrcArray = srcDictionary.GetDirectories(); foreach(DirectoryInfo directorySrc in directorySrcArray) { string dstDirectoryFullPath = Path.Combine(dstDictionary.FullName, directorySrc.Name); DirectoryInfo directoryDst = new DirectoryInfo(dstDirectoryFullPath); CreateFullPath(directoryDst.FullName); CopyDirectory(directorySrc, directoryDst); } } List<string> files = new List<string>(); private void getAllFiles(string path) { DirectoryInfo dir = new DirectoryInfo(path); foreach (FileInfo fChild in dir.GetFiles("*")) //设置文件类型 { files.Add(fChild.FullName); //网list里面添加文件名 } foreach (DirectoryInfo dChild in dir.GetDirectories("*")) //操作子目录 { getAllFiles(dChild.FullName); //递归 } } 如果是在项目内的虚拟目录,可以用Server.MapPath("虚拟路径")获得物理路径,然后用上面的方法进行操作。如果在本机,但是跨项目了,可以从注册表什么的,间接读取到物理目录,然后再用上面的方法进行操作。如果不在本机,那么我猜是无解,不然安全何在。 大家对linq to oracle 有什么好建议吗? 求圆通快递单号算法 请问各位研究过orchard的大虾。 关于installutil无法创建windows服务的问题,急急急! 超级命令行~无敌呀~ 控制台应用程序例子 如何获得被拖拉文件的路径? 怎么把xml的name值分别写到数据库阿? 用正则表达式如何得到<img>中的链接地址?C# Process.Start 打开文件的问题? 在线等! vs2010 .net4 debug 没反应 fixed (void** ppInputBlock = &pTwinCatInputs)中写法在c#里啥用?
public static bool CopyDirectory(string pathSrc, string pathDst)
{
if(!Directory.Exists(pathSrc))
{
return false;
}
CreateFullPath(pathDst);
DirectoryInfo directorySrc = new DirectoryInfo(pathSrc);
DirectoryInfo directoryDst = new DirectoryInfo(pathDst);
CopyDirectory(directorySrc, directoryDst);
return true;
}
private static void CopyDirectory(DirectoryInfo srcDictionary, DirectoryInfo dstDictionary)
{
FileInfo[] srcFiles = srcDictionary.GetFiles();
foreach(FileInfo srcFile in srcFiles)
{
File.Copy(srcFile.FullName, Path.Combine(dstDictionary.FullName, srcFile.Name), true);
}
DirectoryInfo[] directorySrcArray = srcDictionary.GetDirectories();
foreach(DirectoryInfo directorySrc in directorySrcArray)
{
string dstDirectoryFullPath = Path.Combine(dstDictionary.FullName, directorySrc.Name);
DirectoryInfo directoryDst = new DirectoryInfo(dstDirectoryFullPath);
CreateFullPath(directoryDst.FullName);
CopyDirectory(directorySrc, directoryDst);
}
}
List<string> files = new List<string>(); private void getAllFiles(string path)
{
DirectoryInfo dir = new DirectoryInfo(path);
foreach (FileInfo fChild in dir.GetFiles("*")) //设置文件类型
{
files.Add(fChild.FullName); //网list里面添加文件名
} foreach (DirectoryInfo dChild in dir.GetDirectories("*")) //操作子目录
{
getAllFiles(dChild.FullName); //递归
}
}
如果在本机,但是跨项目了,可以从注册表什么的,间接读取到物理目录,然后再用上面的方法进行操作。
如果不在本机,那么我猜是无解,不然安全何在。