麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

利用FileStream實現多媒體文件復制

2019-11-17 02:40:12
字體:
來源:轉載
供稿:網友

利用FileStream實現多媒體文件復制

利用FileStream實現多媒體文件復制的主要思路在于利用兩個FileStream對象,一個讀取字節,另一個對象寫入字節既可。

涉及知識點:

1.通常我們操作的File類,FileStream,StreamWriter,StreamReader都是在System.IO命名空間下的。

2.File類和FileStream類操作文件的區別在于,File相當于一次性讀取或寫入整個文件,可能會增加內存負擔,而使用FileStream則可以在讀取或者寫入的時候指定操作的字節數(有點類似于數據庫分頁查詢的效果),從而減輕對內存的開銷。(另File是靜態類,FileStream,StreamWriter,StreamReader則是非靜態類)。

3.FileStream和StreamWriter,StreamReader的區別在于,StreamWriter,StreamReader只能操作文本文件,而FileStream既可以操作文本文件,也可以操作多媒體文件。

4.FileStream,StreamWriter,StreamReader類每次使用完成后,因為GC無法清理他們的所產生的垃圾,所以我們必須手動調用Close(),Dispose()方法。

5.凡是類(或基類)實現IDisposable接口,則我們可以用using語法自動清理他們產生的垃圾,無需調用Close(),Dispose()方法。常見的類如ado.net中的SqlConnection,SqlCommand類和本文中的FileStream,StreamWriter,StreamReader類。

代碼如下

static void CopyFile(string source, string target)        {            if (!File.Exists(source))            {                throw new Exception("源文件不存在");            }            //創建一個負責讀取的流            using (FileStream sfReader = new FileStream(source, FileMode.Open, Fileaccess.Read))            {                //創建一個負責寫入的流                using (FileStream sfWriter = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))                {                    //每次讀取5M大小                    byte[] buffer = new byte[1024 * 1024 * 5];                    int size = 0;                    do                    {                        //返回的size為讀取到的實際字節數,可能等于5M,也可能小于5M                        size = sfReader.Read(buffer, 0, buffer.Length);                        //最后一個參數是實際字節數,而不是5M。                        //如果這里將size換成buffer.Length,當實際字節數不足5M時,會有很空字節填充。                        sfWriter.Write(buffer, 0, size);                    }                    while (size != 0);                                    }//using的作用,所以程序執行到這里時,會自動釋放sfWriter的資源,無需手動調用Dispose()            };        }
View Code

調用方式

            //利用FileStream實現多媒體文件復制            string source = @"C:/Users/Administrator/Desktop/source.avi";            string target = @"C:/Users/Administrator/Desktop/target.avi";            CopyFile(source, target);
View Code


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜视频在线免费 | 狠狠操精品视频 | 免费一级片网站 | 亚洲日韩中文字幕一区 | 成人国产精品色哟哟 | 精品二区在线观看 | 小视频免费在线观看 | 日本高清电影在线播放 | 久久精品欧美一区二区三区不卡 | 色欲香天天天综合网站 | 国产九色91 | 欧美女优一区 | 成年人网站视频免费 | 小视频成人| xxxx hd videos| 91福利社在线 | 污视频在线看 | 毛片免费视频观看 | 一级在线| 爱高潮www亚洲精品 欧美黄色一级片视频 | 成人av一二三区 | 精品三级内地国产在线观看 | 狼人狠狠干 | 久成人 | 羞羞视频免费网站男男 | 欧美在线一级 | 亚洲精品久久久久www | 日韩激情在线视频 | 国产一区二区三区四区五区在线 | 黄视频网站免费在线观看 | 九九视频在线观看黄 | 黄色网址你懂的 | 成人男女视频 | 日韩一级免费毛片 | 一级成人黄色片 | 亚洲va久久久噜噜噜久牛牛影视 | 亚洲一区二区三区视频免费 | 国产精品欧美久久久久一区二区 | 97se亚洲综合在线韩国专区福利 | 国产精品一区在线看 | 国产一区二区国产 |