程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#文件處理機制概述

C#文件處理機制概述

編輯:C#入門知識

1、什麼是流?:流是用來載體與載體之間傳送數據的。【載體是數據的載體,如:如果數據存放在硬盤上,則硬盤是載體,放U盤上,則U盤是載體,以此類推】

2、流傳送數據的方式是什麼?:一個字節一個字節的傳送,說白了就是傳送字節數組。【字節數組是連續的內存空間】

3、把對象用流傳送必須先轉換為字節數組。

4.讀文件實質:string---->編碼、序列化、把字符串轉換為字節數組--->byte[]--->fs[FileStream]--->文件

5.寫文件的實質:文件--->fs[FileStream]--->byte[]--->解碼、反序列化、把字節數組轉換為字符串--->string

6、當流對文件進行寫操作[Write]時,會自動調用一個新線程來專門寫文件,所以對文件的寫操作完畢後必須清空緩沖區,fs.Flush(); fs是FileStream的一個實例,即--->清空非托管內存。因為在進行對文件的寫操作時,會新建一個文件,Windows系統將會調用 windows代碼,才會存在非托管內存。 調用fs.Flush()時主線程等待從線程寫入完畢,就相當於調用了EndInvoke(),它自動實現了IDisposable接口來釋放非托管內存.

7、在對文件進行讀取操作的時候,可能出現亂碼,原因是--->沒有采用同一套字符集的編碼器。如:UTF8ENCODING、gb2312、UNICODE等

8、流的分類:    
byte[]---------->文件流--------->文件
byte[]--------->網絡流--------->網絡
byte[]--------->內存流--------->對象
byte[]--------->緩存流--------->另一個流

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