程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> FileStream常用的屬性和方法

FileStream常用的屬性和方法

編輯:更多關於編程

      對流進行操作時要引用 using System.IO; 命名空間

      FileStream常用的屬性和方法:

      屬性:

      CanRead 判斷當前流是否支持讀取,返回bool值,True表示可以讀取

      CanWrite 判斷當前流是否支持寫入,返回bool值,True表示可以寫入

      方法:

      Read() 從流中讀取數據,返回字節數組

      Write() 將字節塊(字節數組)寫入該流

      Seek() 設置文件讀取或寫入的起始位置

      Flush() 清除該流緩沖區,使得所有緩沖的數據都被寫入到文件中

      Close() 關閉當前流並釋放與之相關聯的所有系統資源

      文件的訪問方式:(FileAccess)

      包括三個枚舉:

      FileAccess.Read(對文件讀訪問)

      FileAccess.Write(對文件進行寫操作)

      FileAccess.ReadWrite(對文件讀或寫操作)

      文件打開模式:(FileMode)包括6個枚舉

      FileMode.Append 打開現有文件准備向文件追加數據,只能同FileAccess.Write一起使用

      FileMode.Create 指示操作系統應創建新文件,如果文件已經存在,它將被覆蓋

      FileMode.CreateNew 指示操作系統應創建新文件,如果文件已經存在,將引發異常

      FileMode.Open 指示操作系統應打開現有文件,打開的能力取決於FileAccess所指定的值

      FileMode.OpenOrCreate 指示操作系統應打開文件,如果文件不存在則創建新文件

      FileMode.Truncate 指示操作系統應打開現有文件,並且清空文件內容

      文件共享方式:(FileShare)

      FileShare方式是為了避免幾個程序同時訪問同一個文件會造成異常的情況。

      文件共享方式包括四個:

      FileShare.None 謝絕共享當前文件

      FileShare.Read 充許別的程序讀取當前文件

      FileShare.Write 充許別的程序寫當前文件

      FileShare.ReadWrite 充許別的程序讀寫當前文件

      使用FileStream類創建文件流對象:

      FileStream(String 文件路徑,FileMode 文件打開模式)

      FileStream(String 文件路徑,FileMode 文件打開模式,FileAccess 文件訪問方式)

      FileStream(String 文件路徑,FileMode 文件打開模式,FileAccess 文件訪問方式,FileShare 文件共享方式)

      例:

      //在C盤創建a.txt文件,使用fs流對象對文件進行操作,fs的工作模式是新建(FileMode.Create)

      FileStream fs=new FileStream(@"c:a.txt",FileMode.Create);

      //在C盤創建a.txt文件,使用fs流對象對文件進行操作,fs工作模式是新建(FileMode.Create)文件的訪問模式是寫入(Fileaccess.Write)

      FileStream fs=new FileStream(@"c:a.txt",FileMode.Create,FileAccess.Write);

      //在C盤創建a.txt文件,使用fs流對象對文件進行操作,fs工作模式是新建(FileMode.Create)文件的訪問模式是寫入(FileAccess.Write)文件的共享模式是謝絕共享(FileShare.None)

      FileStream fs=new FileStream(@"c:a.txt",FileMode.Create,FileAccess.Write,FileShare.None);

      使用File類來創建對象:(常用)

      自定義打開文件的方式:File.Open(String,FileMode);

      打開文件進行讀取: File.OpenRead(String);

      打開文件進行寫入: File.OpenWrite(String);

      示例如下:

      //在C盤新建123.txt文件,使用流對象fs對文件進行操作,fs可以行文件內容追加操作FileMode.Append

      FileStream fs=File.Open(@"c:123.txt",FileMode.Append);

      //在C盤新建123.txt文件,使用流對象fs對文件進行操作,fs可以進行讀文件File.OpenRead()

      FileStream fs=File.OpenRead(@"c:123.txt");

      //在C盤新建123.txt文件,使用流對象fs對文件進行操作,fs可以進行寫操作File.OpenWrite()

      FileStream fs=File.OpenWrite(@"c:123.txt");

      使用File例:

      對文件進行讀操作:

      //新建fs流對象對象產生的路徑是textbox1.text的值,文件的模式是FileMode.OpenOrCreate(可讀可寫)

      using (FileStream fs = File.Open(textBox1.Text, FileMode.OpenOrCreate))

      {

      //新建字節型數組,數組的長度是fs文件對象的長度(後面用於存放文件)

      byte[] bt=new byte[fs.Length];

      //通過fs對象的Read方法bt得到了fs對象流中的內容

      fs.Read(bt,0,bt.Length);

      //關閉fs流對象

      fs.Close();

      //將bt字節型數組中的數據由Encoding.Default.GetString(bt)方法取出,交給textbox2.text

      textBox2.Text = System.Text.Encoding.Default.GetString(bt);

      }

      對文件進行寫入操作:

      //新建fs流對象,對象操作的文件路徑在textbox1.text中,fs的操作模式是FileMode.Create

      using (FileStream fs = File.Open(textBox1.Text, FileMode.Create))

      {

      //新建字節型數組bt對象,bt對象得到了textbox2.text的Encoding的值

      byte[] bt = System.Text.Encoding.Default.GetBytes(textBox2.Text);

      //將bt字節型數組對象的值寫入到fs流對象中(文件)

      fs.Write(bt,0,bt.Length);

      //關閉流對象

      fs.Close();

      }

      注:

      對文件的讀寫操多不管代碼有多少,無非就是下面的三步:

      1.創建文件讀寫流對象

      2.對文件進行讀寫

      3.關閉文件流

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved