C#在网站子目录下创建文件
大致是这样的我有两个集合 一个是网站倒数第三层的文件夹名称 另一个是倒数第二层文件夹名称
现在我需要根据这两组集合 找到最后的子文件夹下的所有文件名称
然后在这个目录下创建一个 txt 里面是当前目录所有MP3文件的名称的集合(用逗号隔开)
我在网上找到了一段代码
具体如下:
static List<string> GetFileName(string DirName, string FileName)
{
//文件夹信息
DirectoryInfo dir = new DirectoryInfo(DirName);
//如果非根路径且是系统文件夹则跳过
if (null != dir.Parent && dir.Attributes.ToString().IndexOf("System") > -1)
{
return null;
}
//取得所有文件
FileInfo[] finfo = dir.GetFiles();
List<string> fname = new List<string>();
for (int i = 0; i < finfo.Length; i++)
{
//获取的文件名放在集合里 以便读取
fname.Add(finfo[i].Name);
}
//取得所有子文件夹
DirectoryInfo[] dinfo = dir.GetDirectories();
for (int i = 0; i < dinfo.Length; i++)
{
//查找子文件夹中是否有符合要求的文件
GetFileName(dinfo[i].FullName, FileName);
}
return fname;
}
然后调用方法
static void Main(string[] args)
{
//存储最新数据
List<ExcelModel> list = new List<ExcelModel>();
// 读取excel文件路径
string path = string.Format(@"D:\input\getFileNameListForAudio2013-5-4.xls");
DataTable dt = ExcelToDataSet(path).Tables[0];
int errorSize = 0;
for (int i = 0; i < dt.Rows.Count; i++)
{
ExcelModel em = new ExcelModel();
em.bookname = dt.Rows[i]["图书名"].ToString();
em.bookUrl = dt.Rows[i]["图书路径"].ToString();
em.setname = dt.Rows[i]["套书名"].ToString();
em.setUrl = dt.Rows[i]["套书路径"].ToString();
if (em.bookUrl != "" && em.setUrl != "")
{
list.Add(em);
}
else
{
errorSize += 1;
Console.WriteLine(em.bookname + "----未找到,匹配无效的套书路径或 图书路径");
}
}
//遍历正确(可找到图书路径)的集合
//取出图书路径bookUrl 和套书路径setUrl
List<string> fileNameList = new List<string>();
//文件流 创建文件 读写文件
// 在目录下创建文件
FileStream fs = new FileStream(@"D:\test\message.txt", FileMode.CreateNew, FileAccess.ReadWrite);
//(文件)写入流
StreamWriter sw = new StreamWriter(fs);
foreach (ExcelModel li in list)
{
string bookUrl = li.bookUrl;
string setUrl = li.setUrl;
// 调用方法 传递2个参数 bookUrl和setUrl
Console.WriteLine(bookUrl + "===" + setUrl);
// getSetUrl(setUrl);
fileNameList = GetFileName(@"D:\test", bookUrl);
foreach (string filename in fileNameList)
{
sw.Write(filename + ",");
}
}
Console.WriteLine("==============end=====================");
Console.ReadKey();
}
但是问题来了
上面这张图里面 标注了两个地址 我怎么能确保他是文件夹最下层的目录路径?
PS:我是在D盘里建了多个文件夹 进行测试 。 求解决办法。
顺便问一下 是否有可以直接创建在服务器上文件夹最下层的办法?
在线等~ 分不多 还望谅解!~
C# 服务器 文件夹 目录 --------------------编程问答-------------------- 补充一下 文件生成以后 里面内容是空的 求解 新人求照顾!~ --------------------编程问答-------------------- 帮你顶一下,等大神 --------------------编程问答-------------------- 通过FileInfo和递归,就能判定。。非常简单。。
--------------------编程问答--------------------
我想知道我这段代码 应该怎么改 --------------------编程问答--------------------
或者你有源码 可以参考的也行 我第一次搞这个 不知道思路上是不是有错误 --------------------编程问答-------------------- 路径 FileStream fs = new FileStream(Server.MapPath(~\test\message.txt), FileMode.CreateNew, FileAccess.ReadWrite);试试 --------------------编程问答--------------------
是这样的 我要以代码中 setURL和bookUrl 为路径 在其最下层创建txt
补充:.NET技术 , C#