日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

C# 文件流 导入 导出

發(fā)布時(shí)間:2024/7/5 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 文件流 导入 导出 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

流是二進(jìn)制字節(jié)序列的面向?qū)ο蟮囊粋€(gè)抽象概念,.NET 中利用流進(jìn)行輸入和輸出操作,文件從廣義上可以看成是保存在磁盤上的二進(jìn)制字節(jié),是按照一定格式存儲(chǔ)的信息。
文件系統(tǒng)類的介紹 文件操作類大都在System.IO命名空間里。
FileSystemInfo類是任何文件系統(tǒng)類的基類;FileInfo與File表示文件系統(tǒng)中的文件;
DirectoryInfo與Directory表示文件系統(tǒng)中的文件夾;Path表示文件系統(tǒng)中的路徑;
DriveInfo提供對(duì)有關(guān)驅(qū)動(dòng)器的信息的訪問(wèn)。

FileStream與StreamWriter區(qū)別
?FileStream對(duì)象表示在磁盤或網(wǎng)絡(luò)路徑上指向文件的流。這個(gè)類提供了在文件中讀寫(xiě)字節(jié)的方法,但經(jīng)常使用StreamReader或 StreamWriter執(zhí)行這些功能。這是因?yàn)镕ileStream類操作的是字節(jié)和字節(jié)數(shù)組,而Stream類操作的是字符數(shù)據(jù)。這是這兩種類的一個(gè)重要區(qū)別,如果你是準(zhǔn)備讀取byte數(shù)據(jù)的話,用StreamReader讀取然后用? System.Text.Encoding.Default.GetBytes轉(zhuǎn)化的話,如下,則可能出現(xiàn)數(shù)據(jù)丟失的情況,如byte數(shù)據(jù)的個(gè)數(shù)不對(duì)等。因此操作byte數(shù)據(jù)時(shí)要用FileStream。 string textContent = fileStream.ReadToEnd();byte[] bytes = System.Text.Encoding.Default.GetBytes(textContent);
字符數(shù)據(jù)易于使用, 但是有些操作,比如隨機(jī)文件訪問(wèn)(訪問(wèn)文件中間某點(diǎn)的數(shù)據(jù)),就必須由FileStream對(duì)象執(zhí)行.

文件流引用:using System.IO;

//創(chuàng)建一個(gè)文件流:【讀入流】,使用到的參數(shù):文件的地址、打開(kāi)文件的方式、文件的訪問(wèn)權(quán)限 ?
??????????? using (FileStream fs = new FileStream(@"D:\file.txt", FileMode.Open, FileAccess.Read))
??????????? {
??????????????? //創(chuàng)建一個(gè)內(nèi)存【緩沖區(qū)】,用于存儲(chǔ)讀取到的文件流(字節(jié)塊)
??????????????? byte[] buffer = new byte[fs.Length];
??????????????? //從【流】中讀取【字節(jié)塊】并將該數(shù)據(jù)寫(xiě)入給定緩沖區(qū)中
??????????????? fs.Read(buffer, 0, buffer.Length);
??????????????? //使用默認(rèn)的字符編碼集,將字節(jié)數(shù)組轉(zhuǎn)換成字符串
??????????????? rtb_info.Text = Encoding.Default.GetString(buffer);
??????????? }

//創(chuàng)建一個(gè)文件流:【輸出流】,使用到的參數(shù):文件的地址、打開(kāi)文件的方式、文件的訪問(wèn)權(quán)限 ?
??????????? using (FileStream fs = new FileStream(@"D:\file2.txt", FileMode.Create, FileAccess.Write))
??????????? {
??????????????? string str = rtb_info.Text;
??????????????? //使用默認(rèn)的字符編碼集,將字符串轉(zhuǎn)換成字節(jié)數(shù)組
??????????????? byte[] buffer = Encoding.Default.GetBytes(str);
??????????????? // 將字節(jié)塊寫(xiě)入文件流
??????????????? fs.Write(buffer, 0, buffer.Length);
??????????? }
??????????? MessageBox.Show("寫(xiě)入完成");

StreamReader 寫(xiě)入? StreamWriter 導(dǎo)出

//獲取應(yīng)用程序的基目錄
?? ?string basePath = AppDomain.CurrentDomain.BaseDirectory;
//獲取電腦上的所有驅(qū)動(dòng)器信息
??????? DriveInfo[] drives = DriveInfo.GetDrives();

DirectoryInfo dir = dirve.RootDirectory;//獲取驅(qū)動(dòng)器的根目錄信息
var files = dir.GetFiles();//獲取文件夾中所有文件信息
var dirs = dir.GetDirectories();//獲取文件夾中所有子目錄信息

轉(zhuǎn)載于:https://www.cnblogs.com/lujingBK/p/11234444.html

總結(jié)

以上是生活随笔為你收集整理的C# 文件流 导入 导出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。