File类使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/i1tws/article/details/86508394

File 类(静态类)

提供用于创建、复制、删除、移动和打开单一文件的静态方法,并协助创建 FileStream 对象。

File.Open Method

打开指定路径上的 FileStream

Open(String, FileMode)

        private void OpenTXT()
        {
            string txtUrl = AppDomain.CurrentDomain.BaseDirectory + "MyTest.txt";
            using (FileStream fs = File.Open(txtUrl, FileMode.Open))
            {
                byte[] buffer = new byte[fs.Length];
                int n = fs.Read(buffer, 0, buffer.Length);
                string str = Encoding.UTF8.GetString(buffer);

                Console.WriteLine(str);
            }
        }

File.OpenRead(String) Method

打开现有文件以进行读取。

public static System.IO.FileStream OpenRead (string path);

        private void OpenTXT_OpenRead()
        {
            string txtUrl = AppDomain.CurrentDomain.BaseDirectory + "MyTest.txt";
            using (FileStream fs = File.OpenRead(txtUrl))
            {
                byte[] buffer = new byte[fs.Length];
                int n = fs.Read(buffer, 0, buffer.Length);
                string str = Encoding.UTF8.GetString(buffer);

                Console.WriteLine(str);
            }
        }

注解:此方法等效于FileStream fs = new FileStream(txtUrl,FileMode.Open,FileAccess.Read,FileShare.Read);

File.OpenText(String) Method

打开现有 UTF-8 编码文本文件以进行读取。

public static System.IO.StreamReader OpenText (string path);

        private void OpenTXT_OpenText()
        {
            string txtUrl = AppDomain.CurrentDomain.BaseDirectory + "MyTest.txt";
            using (StreamReader sr = File.OpenText(txtUrl))
            {
                string str = "";
                //为表示下一个要读取的字符的整数,或者,如果没有要读取的字符或该流不支持查找,则为 -1。
                while (sr.Peek() > -1 )
                {
                    Console.WriteLine("line:{0}", sr.ReadLine());
                    Console.WriteLine("Peek:{0}", sr.Peek());
                }
            }
        }

File.OpenWrite(String) Method

打开一个现有文件或创建一个新文件以进行写入。

public static System.IO.FileStream OpenWrite (string path);

        private void TXT_OpenWrite()
        {
            string txtUrl = AppDomain.CurrentDomain.BaseDirectory + "MyTest.txt";
            using (FileStream fs = File.OpenWrite(txtUrl))
            {
                string str = "嗨  早上好";
                byte[] buffer = Encoding.UTF8.GetBytes(str);
                fs.Write(buffer,0,buffer.Length);
            }

            using (FileStream fs = File.OpenRead(txtUrl))
            {
                byte[] buffer = new byte[fs.Length];
                fs.Read(buffer, 0, buffer.Length);
                string str = Encoding.UTF8.GetString(buffer);

                Console.WriteLine(str);
            }
        }

File.Create Method

Create(String)

在指定路径中创建或覆盖文件。

Create(String, Int32)

创建或覆盖指定的文件。

Create(String, Int32, FileOptions)

创建或覆盖指定的文件,指定缓冲区大小和一个描述如何创建或覆盖该文件的 FileOptions 值。

Create(String, Int32, FileOptions, FileSecurity)

创建或覆盖具有指定的缓冲区大小、文件选项和文件安全性的指定文件。

        private void TXT_Create()
        {
            string txtUrl = AppDomain.CurrentDomain.BaseDirectory + "MyTest2.txt";
            using (FileStream fs = File.Create(txtUrl))
            {
                byte[] buffer = Encoding.UTF8.GetBytes("你好");
                fs.Write(buffer,0,buffer.Length);
            }
        }

File.CreateText(String) Method

创建或打开用于写入 UTF-8 编码文本的文件。 如果该文件已存在,将覆盖其内容。

public static System.IO.StreamWriter CreateText (string path);


        private void TXT_CreateText()
        {
            string txtUrl = AppDomain.CurrentDomain.BaseDirectory + "MyTest2.txt";
            //如果没有此文件,则创建新文件,如果有则覆盖,创建新文件
            using (StreamWriter sw = File.CreateText(txtUrl))
            {
                sw.WriteLine("你好");
            }
        }

猜你喜欢

转载自blog.csdn.net/i1tws/article/details/86508394
今日推荐