本文要介紹的c#本地讀寫二進位制檔案,二進位制檔案指儲存在物理磁碟的乙個檔案。
第一步:讀寫檔案轉成流物件。其實就是讀寫檔案流 (filestream物件,在system.io命名空間中)。file、fileinfo、filestream這三個類可以將開啟檔案,並變成檔案 流。下面是引用微軟對file、fileinfo、filestream的介紹
system.io.
file類 提供用於建立、複製、刪除、移動和開啟檔案的靜態方法,並協助建立 filestream 物件。
system.io.
fileinfo類 提供建立、複製、刪除、移動和開啟檔案的例項方法,並且幫助建立 filestream 物件。無法繼承此類。
system.io.
filestream類 公開以檔案為主的 stream,既支援同步讀寫操作,也支援非同步讀寫操作。
我直接使用 filestream,他繼承於stream
第二步:讀寫流。讀寫二進位制檔案用system.io.
binaryreader和system.io.
binarywriter類;讀寫文字檔案用system.io.
textreader和system.io.
textwriter類。下面是我的實體 (即要保持到檔案的資料)
//////
學生基本資訊類
///
public
class
student
set}///
///姓名屬性
///
public
string
name
set}///
///語文成績屬性
///
public
double
score1
set}///
///數學成績屬性
///
public
double
score2
set}///
///英語成績屬性
///
public
double
score3
set}}
下面是我的讀方法,讀取檔案中的資訊到引數list
<
student
> stu中
//////
讀取資訊方法
///
///讀取是否成功
public
void
readinfo(
list
<
student
> stu)
else
//否則建立檔案
fs =
newfilestream
(filename,
filemode
.open);
} //使用二進位制讀取
binaryreader
br =
newbinaryreader
(fs);
console
.write(
"讀取資訊將覆蓋現有的資訊,繼續嗎?y/n :"
); string
command =
console
.readline();
if(command ==
"y"|| command ==
"y") //從磁碟上讀取資訊
try} catch
(exception)}
br.close();
fs.close();
}下面是我的寫入方法,寫入引數
list
<
student
> stu中的資料
///
///寫入資訊方法
///
///寫入是否成功
public
void
writeinfo(
list
<
student
> stu)
//手動輸入路徑
else
//否則建立檔案
fs =
newfilestream
(filename,
filemode
.create);
} //資料儲存到磁碟中
binarywriter
bw =
newbinarywriter
(fs);
foreach
(student
student
instu)
bw.close();
fs.close();
console
.writeline(
"儲存成功!");}
C 讀寫二進位制檔案
摘要 使用c 讀寫二進位制檔案,在開發中操作的比較頻繁,今天有幸找到一篇文章,遂進行了一些試驗,並進行了部分的總結。使用c 操作檔案,是研發過程中比較頻繁的,因此進行必要的總結和封裝還是十分有用的。今天在網上找到一篇,遂進行了部分的試驗,以記之,備後用。include 寫二進位制檔案 寫二進位制檔案...
c 讀寫二進位制檔案
最近需要用到二進位制檔案讀寫的相關操作,這邊稍微總結下,首先二進位制檔案的讀寫可以使用fread和fwrite來處理。fread函式原型 size t cdecl fread void size t,size t,file 第乙個引數表示的是快取,第二個引數表示的是基本單元的大小,第三引數表示的是基...
C 二進位制檔案讀寫
今天終於弄明白怎樣使用c 讀寫二進位制檔案了。要讀取檔案必須包含標頭檔案,這裡包含了c 讀寫檔案的方法。可以使用fstream類,這個類可以對檔案進行讀寫操作。1 開啟檔案。可以寫檔案了,讀檔案就好辦多了。讀檔案需要用到read函式。其引數和write大致相同,read const char ch,...