第9节:C# 文件流读写技术

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

代码:

/****************************
 * 
 * 文件流技术
 * 1:文件流的写入
 * 2:文件流的读取
 * 3:Using捕获异常的用法
 * 
 * ******************************/
using System;
using System.IO;
using System.Text;

namespace 文件流技术
{
    class Demo1
    {
        private string _Path1 = @"E:\TeacherLiuSutdy\Hight Level Teach\Test1.txt";
        /// <summary>
        /// 文件流的写入
        /// </summary>
        public void Test1()
        {
            //定义文件流
            FileStream fs = new FileStream(_Path1,FileMode.OpenOrCreate);
            //写入的内容
            string strWord = "同学们,上午好!";
            //字符串转byte数组
            byte[] byteArray = Encoding.UTF8.GetBytes(strWord);
            //写入
            fs.Write(byteArray,0,byteArray.Length);
            //关闭文件流
            fs.Close();
            //清理资源
            //fs.Dispose();
        }
        /// <summary>
        /// 文件流的读取
        /// </summary>
        public void Test2()
        {
            FileStream fs = null;
            try
            {
                //定义文件流
                fs = new FileStream(_Path1, FileMode.Open);
                //开辟内存区域
                byte[] byArray = new byte[1024 * 1024];//1M空间
                                                       //开始读取数据
                int intCount = fs.Read(byArray, 0, byArray.Length);
                //byte数组转字符串
                string strDisplayCount = Encoding.UTF8.GetString(byArray, 0, intCount);
                //关闭文件流
                fs.Close();
                //显示文件内容
                Console.WriteLine(strDisplayCount);
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                if (fs!=null)
                {
                    fs.Close();
                }
            }
        }
        /// <summary>
        /// 使用Using捕获异常
        /// 注意:使用Using的地方,括号内部的类必须实现IDisposable接口(如FileStream)
        /// </summary>
        public void Test3()
        {
            if (File.Exists(_Path1))
            {
                //定义文件流,可自动释放资源,比Try Catch用法简单
                using (FileStream fs = new FileStream(_Path1, FileMode.Open))
                {
                    //开辟内存区域
                    byte[] byArray = new byte[1024 * 1024];//1M空间
                                                           //开始读取数据
                    int intCount = fs.Read(byArray, 0, byArray.Length);
                    //byte数组转字符串
                    string strDisplayCount = Encoding.UTF8.GetString(byArray, 0, intCount);

                    //显示文件内容
                    Console.WriteLine(strDisplayCount);
                }
            }          
        }
        static void Main(string[] args)
        {
            Demo1 obj = new Demo1();
            //obj.Test1();
            //obj.Test2();
            obj.Test3();
            Console.ReadKey();
        }
    }
}
 

猜你喜欢

转载自blog.csdn.net/haibing_zhao/article/details/81437792