Directory文件夹

1、Directory是对文件夹进行的操作。

 1             //CreateDirectory:创建一个新的文件夹
 2             //Delete:删除
 3             //Move:剪切
 4             //Exist()判断指定的文件夹是否存在
 5 
 6             //if (!Directory.Exists(@"C:UsersSpringRainDesktop
ew"))
 7             //{
 8             //    Directory.CreateDirectory(@"C:UsersSpringRainDesktop
ew");
 9             //}
10 
11             //Console.WriteLine("操作成功");
12 
13             //for (int i = 0; i < 100; i++)
14             //{
15             //    Directory.CreateDirectory(@"C:UsersSpringRainDesktop
ew" + i);
16             //}
17 
18             //Console.WriteLine("创建成功");
19 
20 
21             //移动
22 
23             //Directory.Move(@"C:UsersSpringRainDesktop
ew", @"C:UsersSpringRainDesktop
ew2");
24             //Console.WriteLine("移动成功");
25             //Directory.Delete(@"C:UsersSpringRainDesktop
ew2",true);
26             //Console.WriteLine("删除成功");
27             //Console.ReadKey();
View Code

2、获取某一路径下的文件夹和文件名

  string path = @"D:Dpanwangweizhong";
            DirectoryInfo di = new DirectoryInfo(path);

            #region 用实例化DirectoryInfo的方法来 获取文件名称(两种:有路径的,没有路径的)
            FileInfo[] fitems = di.GetFiles();//获取文件名
            foreach (FileInfo f in fitems)
            {
                Console.WriteLine(f.FullName);//获取含有路径的文件全名(带后缀).如:D:Dpanwangweizhong新建文本文档.txt
                Console.WriteLine(f.Name);//获取文件全名(带后缀)。如:新建文本文档.txt
            }
            #endregion

            Console.WriteLine("----------------");

            #region 用实例化DirectoryInfo的方法来 获取文件夹名称
            DirectoryInfo[] ditems=  di.GetDirectories();//获取文件夹
            foreach (DirectoryInfo d in ditems)
            {
                Console.WriteLine(d.FullName);//带有路径的文件夹名称
                Console.WriteLine(d.Name);//不带路径的文件夹名称
            }
            #endregion
            #region 用Directory.GetFiles()方法获取文件名
            Console.WriteLine("+++++++++++++++++");
            string[] nameitems = Directory.GetFiles(path,"*.*");
            foreach (string n in nameitems)
            {
                Console.WriteLine(n);//获取含有路径的文件全名(带后缀).如:D:Dpanwangweizhong新建文本文档.txt
                Console.WriteLine(Path.GetFileName(n));////获取文件全名(带后缀)。如:新建文本文档.txt
            }
            #endregion

            #region 用Directory.GetFiles()方法获取文件夹
            Console.WriteLine("******************");
            string[] diritems = Directory.GetDirectories(path, "*.*");
            foreach (string d in diritems)
            {
                Console.WriteLine(d);//获取含有路径的文件全名(带后缀).如:D:Dpanwangweizhongdemo
                Console.WriteLine(Path.GetFileName(d));////获取文件全名(带后缀)。如:demo
            }
            #endregion
View Code

3、利用递归获取某个文件夹下的所有文件 完整代码

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

namespace ConsoleApp5
{
    class Program
    {
        //建立集合,接收所有的文件名
        List<string> slist = new List<string>();
        static void Main(string[] args)
        {

            string path = @"D:aa";
            Program p = new Program();
            p.SelecrAllFile(path);
            foreach (string s in p.slist)
            {
                Console.WriteLine(s);
            }
            p.slist.Clear();
            Console.ReadKey();

        }
      /// <summary>
      /// 利用递归,把某个文件下的所有文件名读取来
      /// </summary>
      /// <param name="path">路径</param>
        public void SelecrAllFile(string path)
        {
            DirectoryInfo di;
            try
            {
                 di= new DirectoryInfo(path);
            //获取该路径下的所有文件名称
            FileInfo[] fitems = di.GetFiles();
                foreach (FileInfo f in fitems)
                    slist.Add(f.Name);   //获得文件名(不含路径),但是会有重名。f.FullName为含有路径的全名
                DirectoryInfo[] diitems = di.GetDirectories();//获得所有的文件夹
                foreach (DirectoryInfo d in diitems)
                    SelecrAllFile(d.FullName);
            }
            catch
            {
                Console.WriteLine("路径填写错误");
                return;
            }
        }


    }
}
View Code
原文地址:https://www.cnblogs.com/wwz-wwz/p/6393447.html