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 中国大陆许可协议进行许可。

posted @   高小浩upup  阅读(64)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.