最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年05月04日 09:30:05   作者:CGGUANG  
這篇文章主要為大家詳細介紹了C#使用FileStream復制一個任意文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

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

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

然后執(zhí)行以下代碼:

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.

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

相關文章

  • C#中函數(shù)的創(chuàng)建和閉包的理解

    C#中函數(shù)的創(chuàng)建和閉包的理解

    這篇文章主要介紹了C#中函數(shù)的創(chuàng)建和閉包的理解,本文講解了動態(tài)創(chuàng)建函數(shù)、匿名函數(shù)不足之處、理解c#中的閉包、閉包的優(yōu)點等內容,需要的朋友可以參考下
    2015-04-04
  • C#的String和StringBuilder詳解

    C#的String和StringBuilder詳解

    這篇文章主要介紹了C#的String和StringBuilder詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • C#中Html.RenderPartial與Html.RenderAction的區(qū)別分析

    C#中Html.RenderPartial與Html.RenderAction的區(qū)別分析

    這篇文章主要介紹了C#中Html.RenderPartial與Html.RenderAction的區(qū)別分析,需要的朋友可以參考下
    2014-07-07
  • 深入談談C#9新特性的實際運用

    深入談談C#9新特性的實際運用

    這篇文章主要給大家介紹了C#9新特性的實際運用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Unity Shader實現(xiàn)2D水流效果

    Unity Shader實現(xiàn)2D水流效果

    這篇文章主要為大家詳細介紹了Unity Shader實現(xiàn)2D水流效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • C#編程實現(xiàn)連接SQL SERVER數(shù)據(jù)庫實例詳解

    C#編程實現(xiàn)連接SQL SERVER數(shù)據(jù)庫實例詳解

    這篇文章主要介紹了C#編程實現(xiàn)連接SQL SERVER數(shù)據(jù)庫的方法,以實例形式較為詳細的分析了C#連接SQL SERVER數(shù)據(jù)庫的相關步驟與具體實現(xiàn)技巧,需要的朋友可以參考下
    2015-11-11
  • Unity實現(xiàn)顏色漸變滑動條

    Unity實現(xiàn)顏色漸變滑動條

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)顏色漸變滑動條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C#遞歸題目實例代碼

    C#遞歸題目實例代碼

    這篇文章主要介紹了C#遞歸題目實例代碼,有需要的朋友可以參考一下
    2014-01-01
  • c#中CAD文件讀取實例

    c#中CAD文件讀取實例

    在本篇文章里小編給大家整理的是一篇關于c#中CAD文件讀取實例內容,有興趣的朋友們可以學習參考下。
    2021-05-05
  • C#.NET中如何批量插入大量數(shù)據(jù)到數(shù)據(jù)庫中

    C#.NET中如何批量插入大量數(shù)據(jù)到數(shù)據(jù)庫中

    這篇文章主要給大家介紹C#.net中如何批量插入大量數(shù)據(jù)到數(shù)據(jù)庫中,本文涉及到C#.net中批量插入數(shù)據(jù)到數(shù)據(jù)庫中方面的內容,對C#.net批量插入數(shù)據(jù)到數(shù)據(jù)庫中感興趣的朋友可以參考下本篇文章
    2015-10-10

最新評論

万盛区| 双牌县| 安顺市| 科技| 东宁县| 九龙坡区| 四会市| 黎平县| 藁城市| 闵行区| 信宜市| 潮安县| 米易县| 宣恩县| 肇庆市| 民权县| 黎川县| 武宣县| 崇仁县| 舟山市| 新宾| 石家庄市| 阜新| 资源县| 册亨县| 周口市| 丰宁| 金堂县| 禄劝| 景宁| 德化县| 永宁县| 枣阳市| 琼结县| 三门峡市| 宜兰县| 临邑县| 和田县| 松原市| 东城区| 凤城市|