12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.IO;
- using System.Collections;
- /// <summary>
- /// 文件操作相关工具集
- /// </summary>
- public partial class Utils
- {
- /// <summary>
- /// 递归遍历文加下所有指定后缀文件
- /// </summary>
- /// <param name="info"></param>
- /// <param name="total">文件列表</param>
- /// <param name="opt">文件后缀</param>
- public static void ListFiles(string path, ref ArrayList total, string opt)
- {
- DirectoryInfo dir = new DirectoryInfo(path);
- FileSystemInfo[] files = dir.GetFileSystemInfos();
- for (int i = 0; i < files.Length; i++)
- {
- FileInfo file = files[i] as FileInfo;
- //是文件
- if (file != null)
- {
- if (file.FullName.Substring(file.FullName.LastIndexOf(".")) == opt)
- {
- total.Add(file.FullName);
- }
- }
- //对于子目录,进行递归调用
- else
- {
- ListFiles(files[i].FullName, ref total, opt);
- }
- }
- }
- /// <summary>
- /// 文件夹拷贝
- /// </summary>
- /// <param name="from">源文件夹</param>
- /// <param name="to">目标文件夹</param>
- public static void CopyFolder(string from, string to)
- {
- if (!Directory.Exists(to))
- {
- Directory.CreateDirectory(to);
- }
- // 子文件夹
- foreach (string sub in Directory.GetDirectories(from))
- {
- CopyFolder(sub + "\\", to + Path.GetFileName(sub) + "\\");
- }
- // 文件
- foreach (string file in Directory.GetFiles(from))
- {
- File.Copy(file, to + Path.GetFileName(file), true);
- }
- }
- }
|