C# 文件与文件夹操作

文件路径 ==>获取文件名

组合 文件路径

// 获取文件名
string name = System.IO.Path.GetFileName(file);
// 组合文件路径
string dest = System.IO.Path.Combine(destFolder, name);

文件夹是否存在

Directory.Exists(folderPath);

文件是否存在

File.Exists(fileFullName);

文件与文件夹操作

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SettingROI
{
    class UtilityFile
    {
        // 获取 文件夹列表
        public static List<string> GetAllDir(string baseDir)
        {
            DirectoryInfo srcDirInfo = new DirectoryInfo(baseDir);
            DirectoryInfo[] srcDirs = srcDirInfo.GetDirectories();
            List<string> strSrcDirLst = new List<string>();
            foreach (DirectoryInfo item in srcDirs)
            {
                string fileName = item.FullName;
                strSrcDirLst.Add(fileName);
            }
            return strSrcDirLst;
        }

        // 获取 文件列表
        public static List<string> GetAllFileNames(string path, string pattern = "*")
        {
            DirectoryInfo folder = new DirectoryInfo(path);

            List<string> fileNames = new List<string>();

            foreach (FileInfo file in folder.GetFiles(pattern))
            {
                fileNames.Add(file.Name);
            }
            return fileNames;
        }

        // 拷贝文件夹
        public static bool CopyFolder(string sourceFolder, string destFolder)
        {
            try
            {
                //如果目标路径不存在,则创建目标路径
                if (!System.IO.Directory.Exists(destFolder))
                {
                    System.IO.Directory.CreateDirectory(destFolder);
                }
                //得到原文件根目录下的所有文件
                string[] files = System.IO.Directory.GetFiles(sourceFolder);
                foreach (string file in files)
                {
                    // 获取文件名
                    string name = System.IO.Path.GetFileName(file);
                    // 组合文件路径
                    string dest = System.IO.Path.Combine(destFolder, name);
                    System.IO.File.Copy(file, dest);//复制文件
                }
                //得到原文件根目录下的所有文件夹
                string[] folders = System.IO.Directory.GetDirectories(sourceFolder);
                foreach (string folder in folders)
                {
                    string name = System.IO.Path.GetFileName(folder);
                    string dest = System.IO.Path.Combine(destFolder, name);
                    CopyFolder(folder, dest);//构建目标路径,递归复制文件
                }
                return true;
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.ToString());
                return false;
            }
        }

        // 删除文件夹
        public static bool DeleteFolder(string deleteFolder)
        {
            try
            {
                if (Directory.Exists(deleteFolder))
                    Directory.Delete(deleteFolder, true);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.ToString());
                return false;
            }

            return true;
        }


    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廷益--飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值