讀寫文件流操作

通常讀寫問文件的方法的方法有兩種,一種主要是利用FileStream的讀寫直接讀寫文件,一種是利用StreamReader和StreamWriter這兩個流操作類來讀寫文件。

1.通過FileStream讀寫文件

(1)File類,用來創建文件流FileStream對象

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

                      如FileStreamfs=File.Open("C:\\log.txt",FileMode.Append);

打開文件進行讀取:File.OpenRead(String fileName);如FileStreamfs=File.OpenRead("C:\\log.txt");

打開文件進行寫入:File.OpenWrite(String fileName);如FileStreamfs=File.OpenWrite("C:\\log.txt");

(2)FileStream類,創建和操作文件流FileStream對象

   File類的構造方法有如下幾種形式:

FileStream fs=new FileStream(String 文件路徑,FileMode 文件打開模式);

FileStream fs=new FileStream(String ,FileMode,FileAccess文件訪問方式);

FileStream fs=newFileStream(String,FileMode,FileAccess,FileShare 文件共享方式);

FileMode一共包括6種枚舉,告訴操作系統以何種方式打開文件:

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

   Create:指示操作系統創建新文件,如果文件已經存在則覆蓋;

   CreateNew:指示操作系統創建新文件,如果文件已經存在則引發異常;

   Open:打開現有文件,打開文件的能力取決於FileAccess所指定的值;

   OpenOrCreate:打開文件,如果文件不存在則創建新文件;

   Truncate:打開現有文件,並且清除文件的內容

FileAccess一共包括3個枚舉項:

   Read:對文件讀訪問;ReadWrite:對文件讀或寫訪問;Write:對文件寫操作;

FileShare一共包括4個枚舉項:

   None:謝絕共享當前文件;

   Read:允許別的程序讀取當前文件;

   ReadWrite:允許別的程序讀寫當前文件;

   Write:允許別的程序寫當前文件;

用FileStream對於文件的操作基本上要經過三個步驟:

  a 創建文件讀寫流對象

  b 寫或讀操作

  c 關閉文件流

舉例1:

using(FileStreamfs=File.Open("C:\\log.txt",FileMode.Append))

{

byte[] buffer=System.Text.Encoding.Default.GetBytes("HelloWorld!");

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

fs.Close

}

舉例2:

using(FileStream fs=newFileStream("C:\\log.txt",FileMode.Open,FileAccess.Read))

{

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

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

fs.Close();

}

 

2.通過流讀寫器讀寫文件

文件流對象操作的是最底層的字節級數據,可以讀取任何文件;而流讀寫器用來讀寫文本文件,它從底層封裝了文件流,提供更便捷的讀寫方式,無需編解碼操作(它默認使用UTF8編解碼方式)。

(1)StreamReader類,用來讀取文件

構造方法:

new StreamReader(Stream 讀取的文件流);

                 如StreamReader sr=newStreamReader(File.OpenRead("C:\\log.txt"));

new StreamReader(Stream 讀取的文件流,Encoding 解碼方式);

new StreamReader(String 讀取的文件);如StreamReader sr=newStreamReader("C:\\log.txt");

File.OpenText(String 讀取的文件);如StreamReadersr=File.OpenText(C:\\log.txt);

讀方法

public string ReadLine();

public override string ReadToEnd();

(2)StreamWriter類,用來寫入文件

構造方法:

StreamWriter(Stream 操作的文件流對象);

            如StreamWritersw=new StreamWriter(File.OpenWrite("C:\\log.txt"));

StreamWriter(String 寫入的文件);如StreamWriter sw=newStreamWriter("C:\\log.txt");

StreamWriter(String 寫入的文件,Boolean 是否追加);

           如StreamWriter sw=new StreamWriter("C:\\log.txt",false);

StreamWriter(String 寫入的文件,Encoding 編碼方式);

File.AppendText(String 文件名)以及File.CreateText(String 文件名)

            如StreamWritersw=File.CreateText("C:\\log.txt");

寫方法

public void WriteLine(Char);

public void WriteLine(Double);

public void WriteLine(String);

舉例1:

using(StreamReader sr=new StreamReader("C:\\log.txt"))

{

String ss=sr.ReadToEnd();

sr.Close();

}

舉例2:

using(StreamWriter sw=new StreamWriter("C:\\log.txt"))

{

sw.WriteLine("Hello World!");

sw.Close();

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章