zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    POJ1486 Sorting Slides 二分图or贪心
    POJ2060 Taxi Cab Scheme 最小路径覆盖
    POJ3083 Children of the Candy Corn 解题报告
    以前的文章
    POJ2449 Remmarguts' Date K短路经典题
    这一年的acm路
    POJ3014 Asteroids 最小点覆盖
    POJ2594 Treasure Exploration 最小路径覆盖
    POJ3009 Curling 2.0 解题报告
    POJ2226 Muddy Fields 最小点集覆盖
  • 原文地址:https://www.cnblogs.com/wwz-wwz/p/6393447.html
Copyright © 2011-2022 走看看