(转).NET的IO:Path、File、FileInfo、Directory、DirectoryInfo、DriveInfo、FileSystemWatcher

image

1.管理文件系统


一般而言,应用程序都会有保存数据、检索数据的需求。

1.1 使用 path 类来访问文件路径


image

【path常用的方法】:http://www.cnblogs.com/tangge/archive/2012/10/30/2746458.html#a3

1.2 使用 File 和 FileInfo 类访问文件

1.2.1 File 类

image

image

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
static void Main(string[] args)
{
    string sourceFileName = @"F:a.txt"; //源文件
    string destFileName = @"c:a.txt"; //目标文件
    //如果源文件不存在
    if (!File.Exists(sourceFileName))
    {
        File.Create(sourceFileName).Close();
    }
    //如果目标文件存在,先删除
    if (File.Exists(destFileName))
    {
        File.Delete(destFileName);
    }
 
    File.Copy(sourceFileName, destFileName);
    File.Delete(sourceFileName);
}

重复记录

image

复制代码
string sourceFileName = @"F:a.txt"; //源文件
            string destFileName = @"c:a.txt"; //目标文件

            StreamWriter sw = File.AppendText(destFileName);
            sw.WriteLine(string.Format("{0}复制完毕", DateTime.Now));
            sw.Flush();
            sw.Close();
复制代码

1.2.2 FileInfo 类

image

Length

复制代码
private static void Main(string[] args)
        {
            string path = @"E:中天IT视频DVD-ASP.NETDVD-张波.NETC1001IO详解——张波.NETC10011上次复习_作业讲解.avi";
            FileInfo fi = new FileInfo(path);
            Console.WriteLine(
                string.Format("本文件为{0:#.00}M", fi.Length / (1024 * 1024)));
        }
复制代码

image

1.3 使用Directory 和 DirectoryInfo 类访问目录

1.3.1 Directory 类

image

复制代码
string path = @"F:	taegwww";
            if (Directory.Exists(path))
            {
                Directory.Delete(path);
            }
            else
            {
                Directory.CreateDirectory(path);
            }
复制代码

image

复制代码
string path = @"F:	taeg";

            //GetFiles 检索文件列表
            string[] aa= Directory.GetFiles(path);
            foreach (var a in aa)
            {
                Console.WriteLine(a);
            }
            
            Console.WriteLine("------------");
            //GetDirectories 检索文件夹列表
            foreach (var s in Directory.GetDirectories(path))
            {
                Console.WriteLine(s);
            }

            Console.WriteLine("------------");
            //GetDirectories 检索文件夹和文件列表
            foreach (var s in Directory.GetFileSystemEntries(path))
            {
                Console.WriteLine(s);
            }
复制代码

image

1.3.2 DirectoryInfo 类

image

image

1.4 使用 DriveInfo 类访问驱动器

image

image

Console.WriteLine("驱动器{0},类型为{1},",dr.Name,dr.DriveType);
                //if (dr.IsReady)
                //{
                    Console.WriteLine("可用空间为{0}", dr.AvailableFreeSpace);
                //}

image

 

Console.WriteLine("驱动器{0},类型为{1},", dr.Name, dr.DriveType);
                if (dr.IsReady)//设备已经准备好
                {
                    Console.WriteLine("	可用空间为{0}G", dr.AvailableFreeSpace/(1024*1024*1024)); //41G
                    Console.WriteLine("	分区格式为{0}
",dr.DriveFormat);   //NTFS           
                }

image

1.5 FileSystemWatcher 类

image

image

2.使用字节流

3.管理应用程序数据

4.高效操作字符串

原文地址:https://www.cnblogs.com/souliid/p/5648741.html