c# 文件/文件夹相关方法

1 判断文件夹是否存在

 1         /// <summary>文件夹是否存在
2 /// </summary>
3 /// <param name="dir"></param>
4 /// <returns></returns>
5 public static Boolean isFolderExist(string dir)
6 {
7 if (System.IO.Directory.Exists(dir))
8 return true;
9 return false;
10 }


2 判断文件夹是否为空

 1         /// <summary>文件夹是否为空
2 /// </summary>
3 /// <param name="dir"></param>
4 /// <returns></returns>
5 public static Boolean isFolderEmpty(string dir)
6 {
7 if (!isFolderExist(dir)) return false;
8
9 System.IO.DirectoryInfo di = new DirectoryInfo(dir);
10 if (di.GetFiles().Length + di.GetDirectories().Length == 0)
11 return true;
12 return false;
13 }

3 创建文件夹

1         /// <summary>创建文件夹
2 /// </summary>
3 /// <param name="dir"></param>
4 /// <returns></returns>
5 public static void createFolder(string dir)
6 {
7 if (!isFolderExist(dir))
8 System.IO.Directory.CreateDirectory(dir);
9 }

4 判断文件名是否合法

 1         /// <summary>判断文件名/文件夹名是否合法
2 /// </summary>
3 /// <param name="fileName"></param>
4 /// <returns></returns>
5 public static bool IsValidFileName(string fileName)
6 {
7 bool isValid = true;
8 string errChar = "\\/:*?\"<>|"; //
9 if (string.IsNullOrEmpty(fileName))
10 {
11 isValid = false;
12 }
13 else
14 {
15 for (int i = 0; i < errChar.Length; i++)
16 {
17 if (fileName.Contains(errChar[i].ToString()))
18 {
19 isValid = false;
20 break;
21 }
22 }
23 }
24 return isValid;
25 }

5 删除文件夹

 1 /// <summary>删除文件夹及其内容
2 /// </summary>
3 /// <param name="from">原文件夹地址</param>
4 public static void deleteFolder(string from)
5 {
6 if (!Directory.Exists(from))
7 return;
8
9 foreach (string sub in Directory.GetDirectories(from))
10 deleteFolder(sub + "\\");
11
12 foreach (string file in Directory.GetFiles(from))
13 File.Delete(file);
14
15 }

6 拷贝文件夹

 1 /// <summary>拷贝文件夹及其内容
2 /// </summary>
3 /// <param name="from">原文件夹地址</param>
4 /// <param name="to">目标文件夹地址</param>
5 public static void copyFolder(string from, string to)
6 {
7 if (!Directory.Exists(to))
8 Directory.CreateDirectory(to);
9
10 foreach (string sub in Directory.GetDirectories(from))
11 copyFolder(sub + "\\", to +"\\"+ System.IO.Path.GetFileName(sub));
12
13 foreach (string file in Directory.GetFiles(from))
14 File.Copy(file, to + "\\" + System.IO.Path.GetFileName(file), true);
15
16 }


7 打开指定文件夹

1         /// <summary>打开指定文件夹
2 /// </summary>
3 /// <param name="dir"></param>
4 public static void openFolderInWindow(string dir)
5 {
6 System.Diagnostics.Process.Start("explorer.exe", dir);
7 }






原文地址:https://www.cnblogs.com/myparamita/p/2352289.html