Net文件操作(查询、移动)
一.遍历指定目录下的所有文件
public class FileUtil
{
/// <summary>
/// 遍历 rootdir目录下的所有文件
/// </summary>
/// <param name="rootdir">目录名称</param>
/// <returns>该目录下的所有文件</returns>
public StringCollection GetAllFiles(string rootdir)
{
StringCollection result = new StringCollection();
GetAllFiles(rootdir, result);
return result;
}
/// <summary>
/// 作为遍历文件函数的子函数
/// </summary>
/// <param name="parentDir">目录名称</param>
/// <param name="result">该目录下的所有文件</param>
public void GetAllFiles(string parentDir, StringCollection result)
{
//获取目录parentDir下的所有的子文件夹
string[] dir = Directory.GetDirectories(parentDir);
for (int i = 0; i < dir.Length; i++)
{
GetAllFiles(dir[i], result);
}
//获取目录parentDir下的所有的文件,并过滤得到所有的文件
string[] file = Directory.GetFiles(parentDir);
for (int i = 0; i < file.Length; i++)
{
result.Add(file[i]);
}
}
}
使用方法。传入的目录为项目的文件夹,能遍历文件夹中的文件夹,得到所有的文件路径
FileUtil util = new FileUtil();
StringCollection list = util.GetAllFiles("论文");
二.文件移动
在System.IO.File类上,有对文件进行操作的方法。下面的例子是将“论文”文件夹中所有文件(包括里面文件夹中的文件)移动到另外的“论文2”文件夹。
FileUtil util = new FileUtil();
StringCollection list = util.GetAllFiles("论文");
foreach (var item in list)
{
FileInfo fi = new FileInfo(item);
var name = fi.Name;//文件名
if (!System.IO.File.Exists("论文2\\" + name))
{
System.IO.File.Move(item, "论文2\\" + name);//2个文件在不同目录则是移动,如果在相同目录下则是重命名
}
}
本文作者:高小浩upup
本文链接:https://www.cnblogs.com/GaoUpUp/p/17187302.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步