c# FileStream和StreamWriter用法

本文介绍了如何利用FileStream结合StreamWriter和StreamReader进行文件的写入与读取操作,并提供了具体的代码示例。此外,还详细解释了FileMode枚举成员的不同用途。

Address: http://www.cnblogs.com/scottckt/archive/2008/07/01/1233523.html

 

FileStream對象通常會在StreamWriter或StreamReader內使用,並使用它們的方法處理文件。

        /// <summary>
        /// StreamWriter寫入方法
        /// </summary>
        private void StreamWriterMetod()
        {
            try
            {
                FileStream fsFile = new FileStream(@"d:/log.txt",FileMode.OpenOrCreate);
                StreamWriter swWriter = new StreamWriter(fsFile);
                //寫入數據
                swWriter.WriteLine("Hello Wrold.");
                swWriter.WriteLine("It is now {0}", DateTime.Now.ToLongDateString());    
                swWriter.Close();
            }
            catch (Exception e)
            {

                throw e;
            }
        }


        /// <summary>
        /// StreamWriter讀取方法
        /// </summary>
        private void StreamReaderMetod()
        {
            string sLine = "";
            try
            {
                FileStream fsFile = new FileStream(@"d:/log.txt", FileMode.Open);
                StreamReader srReader = new StreamReader(fsFile);
                //讀取文件(讀取大文件時,最好不要用此方法)
                sLine = srReader.ReadToEnd();
                txbValue.Text = sLine;
                srReader.Close();
            }
            catch (Exception e)
            {
                throw e;
            } 
        }

        /// <summary>
        /// StreamWriter讀取方法2
        /// </summary>
        private void StreamReaderMetodTwo()
        {
            try
            {
                FileStream fsFile = new FileStream(@"d:/log.txt", FileMode.Open);

                /*
                 * 讀取數據最簡單的方法是Read()。此方法將流的下一個字符作為正整數值返回,
                 * 如果達到了流的結尾處,則返回-1。
                 */
                StreamReader srReader = new StreamReader(fsFile);
                int iChar;
                iChar = srReader.Read();
                while (iChar != -1)
                {
                    txbValue.Text += (Convert.ToChar(iChar));
                    iChar = srReader.Read();
                }
                srReader.Close();
            }
            catch (Exception e)
            {
                throw e;
            }
        }

注:FileMode枚舉成員值在文件存在與不存在時的情況

成員

文件存在時

文件不存在時

Append

打開文件,流指向文件的末尾,只能與枚舉FileAcess.Write聯合使用

創建一個新文件。只能與枚舉FileAcess.Write聯合使用

Create

刪除該文件,然後創建新文件

創建新文件

CreateNew

拋出異常

創建新文件

Open

打開現有文件,流指向文件開頭

拋出異常

OpenOrCreate

打開文件,流指向文件開頭

創建新文件

Truhncate

打開現有文件,清除其內容。流指向文件開頭,保留文件的初始創建日期。

拋出異常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值