System.IO.Directory类

Posted 野路子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System.IO.Directory类相关的知识,希望对你有一定的参考价值。

1、参考的博客:System.IO.Directory类和System.DirectoryInfo类(http://blog.sina.com.cn/s/blog_614f473101017du4.html);        //有些地方,有误


 

2、Directory 类:https://msdn.microsoft.com/zh-cn/library/system.io.directory.aspx


 3、说明,上述参考的博客有一些有错误的地方,在下面的代码中做了改正;

      目录与文件的区别:

  【1】目录就是文件夹的意思 ,在图形化界面下 叫作文件夹,文本界面下 叫目录;  

  【2】文件是鸡蛋,目录是放鸡蛋的筐!目录是dos下叫的,文件夹是windows下叫的。都是一样的东西;

  【3】目录下放文件,文件放到不同的目录中,路径是查找文件的目录结构

 

4、自己实践:

using System;
using System.Windows.Forms;
using System.IO;

namespace Directory_use
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)        //生成目录 
        {
            MakeDirectory();
        }

        private void button2_Click(object sender, EventArgs e)       //退出应用程序
        {
            Application.Exit();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if(Directory.Exists(@"c:\\temp00"))                      //判断目录是否存在  
            // if (File.Exists(@"c:\\temp00\\NewDirectory"))          //判断文件是否存在  
            {
                
                DeleteDirectory(); //删除目录   
            }
            else
            {
                MakeDirectory(); //生成目录  
                //SetDirectory(); //设置目录属性  
            }
        }
        private void button4_Click(object sender, EventArgs e)           //移动目录
        {
            if  (Directory.Exists(@"c:\\temp01\\BackUp") == false)         //判断目录是否存在  
            Directory.CreateDirectory(@"c:\\temp01\\BackUp");
            //if (File.Exists(@"c:\\temp00\\NewDirectory"))                 //判断文件是否存在  
            if (Directory.Exists(@"c:\\temp00\\NewDirectory"))
            {
                File.Move(@"c:\\temp00\\NewDirectoty", @"c:\\temp01\\BackUp");//移动文件
                Directory.Move(@"c:\\temp00", @"c:\\temp01\\BackUp");        //移动目录
            }
            else
            {
                MakeDirectory();     //生成目录  
                //SetDirectory();   //设置目录属性
            }
            
        }

        private void button5_Click(object sender, EventArgs e)
        {
            dataGridView1.DataSource = GetDirectory();
        }
         
        private void GetFile()                 //获取文件 
        {
            string[] Files;
            Files = Directory.GetFiles(@"c:\\temp00");
        }

        private string[] GetDirectory()        //获取子目录
        {
            string[] Directorys;
            Directorys = Directory.GetDirectories(@"c:\\temp00");
            return Directorys;
        }

        private void SetDirectory()              //设置目录属性
        {
            DirectoryInfo NewDirInfo = new DirectoryInfo(@"c:\\temp00\\NewDirectoty");
            NewDirInfo.Attributes = FileAttributes.ReadOnly | FileAttributes.Hidden;
        }

        private void MakeDirectory()            //生成目录
        {
            Directory.CreateDirectory(@"c:\\temp00\\NewDirectoty");
        }

        private void DeleteDirectory()          //删除目录 
        {
            Directory.Delete(@"c:\\temp00", true);
        }

    }
}

 


【欢迎转载】

 转载请表明出处: 乐学习

 

以上是关于System.IO.Directory类的主要内容,如果未能解决你的问题,请参考以下文章

System.IO.Directory.CreateDirectory - 有史以来最奇怪的异常

Test-Path / System.IO.Directory::Exists 未按预期工作

使用System.IO.Directory.CreateDirectory()时出现FileNotFoundException

使用 System.IO.Directory.CreateDirectory 在网络驱动器中创建一个文件夹 [重复]

为啥 System.IO.Directory.Delete(string,bool) 仅在 asp.net 站点模拟用户时将文件夹标记为已删除

判断路径