c# 文件处理

重点介绍 windows 应用程序对文件读写所涉及的 System.IO 命名空间和 File FileInfo FileStream BinaryReader BinaryWriter BufferedStream 等类,以及常用的方法、参数、属性、事件、枚举等。
System .IO 命名空间常用的类
说明
File
提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream 对象。
FileInfo
提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建 FileStream 对象。无法继承此类。
FileStream
公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作。
BinaryReader
用特定的编码将基元数据类型读作二进制值。
BinaryWriter
以二进制形式将基元类型写入流,并支持用特定的编码写入字符串。
BufferedStream
给另一流上的读写操作添加一个缓冲层。无法继承此类。
Directory
公开用于创建、移动和枚举通过目录和子目录的静态方法。无法继承此类。
DirectoryInfo
公开用于创建、移动和枚举目录和子目录的实例方法。无法继承此类。
Path
对包含文件或目录路径信息的 String 实例执行操作。这些操作是以跨平台的方式执行的。
StreamReader
实现一个 TextReader,使其以一种特定的编码从字节流中读取字符。
StreamWriter
实现一个 TextWriter,使其以一种特定的编码向流中写入字符。
FileSysWatcher
侦听文件系统更改通知,并在目录或目录中的文件发生更改时引发事件。
File 类的常用方法
利用 MSDN 就可以掌握类 File 的使用,类 File 提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创建 FileStream 对象。类 File 有几个常用方法。
方法
说明
Move
将指定文件移到新位置,并提供指定新文件名的选项。
Delete
删除指定的文件。如果指定的文件不存在,则不引发异常。
Copy
已重载。 将现有文件复制到新文件。
CreateText
创建或打开一个文件用于写入 UTF-8 编码的文本。
OpenText
打开现有 UTF-8 编码文本文件以进行读取。
Open
已重载。 打开指定路径上的 FileStream

了解File类的一些主要方法

方法
说明
Move
将指定文件移到新位置,并提供指定新文件名的选项。
Delete
删除指定的文件。如果指定的文件不存在,则不引发异常。
Copy
已重载。 将现有文件复制到新文件。
CreateText
创建或打开一个文件用于写入 UTF-8 编码的文本。
OpenText
打开现有 UTF-8 编码文本文件以进行读取。
Open
已重载。 打开指定路径上的 FileStream
using System;
using System.IO;
class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";
        if (!File.Exists(path))
        {
            // 创建文件以便写入内容。
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
        }
        // 打开文件从里面读数据。
        using (StreamReader sr = File.OpenText(path))
        {
            string s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }
        try
        {
            string path2 = path + "temp";
            // 确认将要拷贝成的文件是否已经有同名的文件存在。
            File.Delete(path2);
            // 拷贝文件。
            File.Copy(path, path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);
            // 删除新生成的文件。
            File.Delete(path2);
            Console.WriteLine("{0} was successfully deleted.", path2);
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
 
Fileinfo类的常用方法
FileInfo 提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建 FileStream 对象。无法继承此类。类 FileInfo 有几个常用方法。
属性
说明
Attributes        
获取或设置当前 FileSystemInfo FileAttributes。(从 FileSystemInfo 继承。)
CreationTime 
获取或设置当前 FileSystemInfo 对象的创建时间。(从 FileSystemInfo 继承。)
Directory
获取父目录的实例。
DirectoryName
获取表示目录的完整路径的字符串。
Exists
已重写。获取指示文件是否存在的值。
Extension 
获取表示文件扩展名部分的字符串。(从 FileSystemInfo 继承。)
 
下面的示例演示了 FileInfo类的一些主要属性。
 
using System;
using System.IO;
class Test
{
    public static void Main()
{
        string fileName = "C:\\autoexec.bat";
            FileInfo fileInfo = new FileInfo(fileName);
            if (!fileInfo.Exists)
            {
                return;
            }
            Console.WriteLine("{0} has a directoryName of {1}",fileName,fileInfo.DirectoryName);
            /* 下面是代码的处理结果,
             * 实际的结果因机器不同:
             *
             * C:\autoexec.bat has a directoryName of C:\
             */
    }
}
 

你可能感兴趣的:(C#,职场,休闲)