使用 FileStream 類對檔案系統上的檔案進行讀取、寫入、打開和關閉操作,并對其他與檔案相關的作業系統句柄進行操作,如管道、标準輸入和标準輸出。讀寫操作可以指定為同步或異步操作。FileStream 對輸入輸出進行緩沖,進而提高性能。
先看代碼,後面講解:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;//注意,必不可少
namespace WasteIndustry {
public partial class Form3 : Form {
public Form3() {
InitializeComponent();
/*
* C# Program
* Author:神舟龍
* Email: [email protected]
*/
}
private void Form3_Load(object sender, EventArgs e) {
//建立一個文本檔案,并執行個體化一個檔案流
FileStream MyFileStream1 = new FileStream(@"D:\Test.text",FileMode.Create);
FileInfo MyFiles = new FileInfo(@"D;\Test.text");
//執行個體化一個隻讀檔案流
FileStream MyFileStream2 = MyFiles.OpenRead();
//設定檔案流為隻寫權限
MyFileStream2 = MyFiles.OpenWrite();
//設定檔案流的打開方式為追加模式,隻讀權限,不共享
MyFileStream2 = MyFiles.Open(FileMode.Append,FileAccess.Read,FileShare.None);
//建立檔案
MyFileStream2 = MyFiles.Create();
//從檔案中讀取位元組
int MyBytes = MyFileStream1.ReadByte();
//定義數組長度
int NumberOFBytes = 20;
//byte類型數組
byte[] MyByteArray = new byte[NumberOFBytes];
//從檔案中讀取20個位元組放入數組中
int BytesRead = MyFileStream1.Read(MyByteArray,0,NumberOFBytes);
//定義一個位元組
byte MyWriteByte = 100;
//向檔案中寫入一個位元組
MyFileStream1.WriteByte(MyWriteByte);
int NumberOfBytesToWrite = 256;
//定義byte類型數組
byte[] MyWriteByteArray=new Byte[NumberOfBytesToWrite];
//循環向byte類型的數組中插入byte值
for (int i = 0; i < 256; i++) {
MyWriteByteArray[i]=(byte)i;
i++;
}
//向流中寫入數組内容
MyFileStream1.Write(MyWriteByteArray,0,NumberOfBytesToWrite);
//關閉流
MyFileStream1.Close();
MyFileStream2.Close();
}
}
MyFileStream1對象,使用指定路徑和建立模式執行個體化,建立模式FileMode是一個枚舉類型,它還包括:
Append
可以打開現有的檔案并查找的檔案尾部,FileMode.Append隻能與FileAcces.Write(寫權限)一起使用
Create
建立新檔案,如果檔案存在則覆寫,沒有則建立
CreateNew
建立新檔案,有的話,出現異常
Open
打開現有的檔案,如果有打開,不存在檔案就會引發異常
如果存在檔案則打開,不存在則建立
MyFileStream2對象,用FileInfo執行個體化,FileInfo方法有open,openreade,opentext,create,createtext。
檔案流的讀取(read)與寫入(write);
read
定義一個byte類型的數組,設定數組的長度,read方法就是在檔案中從0開始讀取,讀取20個位元組數,然後替換到數組中
//定義數組長度
定義一個byte類型的數組,設定數組的長度,并通過循環想byte數組中寫入位元組,通過write方法把數組中的值從0位置開始向流中寫入内容;
本文轉自shenzhoulong 51CTO部落格,原文連結:http://blog.51cto.com/shenzhoulong/495120,如需轉載請自行聯系原作者