.net實現(xiàn)文件讀寫的幾種常用方法
文件的讀寫是.net中常用的功能,本文即以實例形式展示.net實現(xiàn)文件讀寫的幾種常用方法,供大家參考之用。具體如下:
在.net中有很多有用的類庫來讀寫硬盤上的文件,一般比較常用的有:
File:
1.什么時候使用:當(dāng)讀寫件大小不大,同時可以一次性進行讀寫操作的時候使用
2.不同的方式可以讀寫文件類型不一樣。
ReadAllBytes() WriteAllByte():可以讀寫任意類型的文件 (里面封裝的是FileStream)
ReadAllLines() ReadAllText():(里面封裝是StreamWriter,StreamReader),只能讀寫文本類型文件
FileStream:
1.當(dāng)讀寫大文件的時候使用,它可以自定義讀寫的數(shù)組大小
2.一個流只能做一個事情:如果需要讀和寫那么就需要創(chuàng)建兩個流
3.讀?。簩?shù)據(jù)讀取到數(shù)組 寫入是將數(shù)組的數(shù)據(jù)再寫入到文件(類型轉(zhuǎn)換)
下面展示一個使用FileStream類的讀寫一部電影示例代碼:
//讀取
using (FileStream fsRead = new FileStream(@"F:\C#.avi", FileMode.Open))
{
using (FileStream fsWrite = new FileStream(@"d:\C#學(xué)習(xí).avi", FileMode.Create))
{
//自定義數(shù)組的長度
byte[] bytes = new byte[1024];
//當(dāng)沒有讀取到文件的末尾的時候就需要循環(huán)讀取
while (fsRead.Position < fsRead.Length)
{
//讀取的時候position屬性會自動變化,記住當(dāng)前讀取到的位置,以字節(jié)為單位
//count可以獲取當(dāng)前具體讀取到的字節(jié)數(shù)
int count = fsRead.Read(bytes, 0, bytes.Length);
if (count == 0)
{
break;
}
//寫入
fsWrite.Write(bytes, 0, count); //只需要寫入讀取到的字節(jié)數(shù)就可以了
}
}
MessageBox.Show("ok");
}
補充:
StreamReader/StreamWrite:
1.只能對文本文件進行讀寫操作
2.它可以按行進行讀取和寫入
- C# Form自定義光標(biāo)的簡單實現(xiàn)
- c#獲取光標(biāo)在屏幕中位置的簡單實例
- js切換光標(biāo)示例代碼
- js/html光標(biāo)定位的實現(xiàn)代碼
- C語言游戲必備:光標(biāo)定位與顏色設(shè)置的實現(xiàn)方法
- Asp.net中將Word文件轉(zhuǎn)換成HTML的方法
- .net實現(xiàn)序列化與反序列化實例解析
- asp.net訪問網(wǎng)絡(luò)路徑方法(模擬用戶登錄)
- ASP.NET自動為URL加上超鏈接的代碼
- Windows窗體的.Net框架繪圖技術(shù)實現(xiàn)方法
- .NET中實現(xiàn)彩色光標(biāo)、動畫光標(biāo)及自定義光標(biāo)的方法
相關(guān)文章
C#使用自定義的泛型節(jié)點類實現(xiàn)二叉樹類
這篇文章主要為大家詳細(xì)介紹了C#如何使用自定義的泛型節(jié)點類 Node<T>實現(xiàn)二叉樹類BinaryTree<T>及其方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
C#關(guān)于Textbox滾動顯示最后一行,不閃爍問題
這篇文章主要介紹了C#關(guān)于Textbox滾動顯示最后一行,不閃爍問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
C#中csv文件與DataTable互相導(dǎo)入處理實例解析
這篇文章主要介紹了C#中csv文件與DataTable互相導(dǎo)入處理實例解析,非常實用的功能,需要的朋友可以參考下2014-08-08
C#實現(xiàn)WebSocket協(xié)議客戶端和服務(wù)器websocket sharp組件實例解析
這篇文章主要介紹了C#實現(xiàn)WebSocket協(xié)議客戶端和服務(wù)器websocket sharp組件實例解析,包括websocket sharp組件的概念及使用方法,需要的朋友可以參考下2017-04-04

