国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#使用FileStream復制一個任意文件

2020-01-24 00:05:33
字體:
來源:轉載
供稿:網友

FileStream,顧名思義,文件流。流,是字節流。我的理解是,硬盤上存在一個字節流,內存里也有一個字節流,它們是對應的。程序運行時,我們只能對內存里的字節流直接操作,在它被關閉的時候,它的內容自動寫入硬盤上的相應字節流。
復制一個文件的基本思路是:逐一讀取原文件流的字節,逐一寫入新文件流中。分別用到文件流的ReadByte()和WriteByte()方法。這里要注意的是,讀取時以字節為單位,一個字節如下圖所示

是一個0和1組合的序列。ReadByte()讀取一個字節后將這個序列求值,返回的是整形數值。如果讀到文件的盡頭了,不能成功讀取字節了,返回的是-1。這個設計是非常合理的。因為只要是個字節,總是能求出它大于或等于0的值的。沒有字節了,就返回-1了。這樣的話,可以把-1作為循環讀取終止的標志。

我下面以一個圖片文件的復制為例講解。

在C盤新建一個畫圖文件,另存為png格式,文件名pic1。

然后執行以下代碼:

using System;using System.IO; namespace Demo{class Program { public static void Main(string[] args)  { FileStream fs1 = new FileStream("c:/pic1.png",FileMode.Open);//FileAccess is dispensable.   //FileAccess is the extra contract.  FileStream fs2 = new FileStream("c:/pic2.png",FileMode.Create); int d; byte b; while( ( d = fs1.ReadByte() ) != -1 ) { b = (byte)d; fs2.WriteByte( b );  } fs1.Close(); fs2.Close(); Console.Write("Press any key to continue . . . "); Console.ReadKey(true);  }    }} 

會在c盤下生成一個和pic1一模一樣的圖片文件pic2.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 义乌市| 茌平县| 兴和县| 长宁县| 武义县| 阜阳市| 南昌市| 奉化市| 育儿| 张家界市| 郴州市| 常熟市| 交城县| 朝阳市| 山丹县| 孝昌县| 房产| 赣榆县| 城口县| 循化| 兴山县| 青神县| 澄江县| 屯门区| 博客| 灵山县| 南平市| 辉南县| 苍山县| 伊春市| 达日县| 横山县| 垫江县| 出国| 富裕县| 翁源县| 平塘县| 渭源县| 杭锦后旗| 伊通| 盐津县|