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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET I/O 学习笔记:文件的读和写

發(fā)布時(shí)間:2025/3/13 asp.net 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET I/O 学习笔记:文件的读和写 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  我們在對文件進(jìn)行讀寫操作時(shí)首先需要把文件轉(zhuǎn)換成文件流(FileStream)對象。Stream類及其派生類(包括FileStream類)都提供了Read和Write方法,可支持在字節(jié)級別對數(shù)據(jù)進(jìn)行讀寫。假如我們的程序需要將字符數(shù)據(jù)寫入到流中,需要先將字符數(shù)據(jù)轉(zhuǎn)換為字節(jié)數(shù)據(jù)之后才能將數(shù)據(jù)寫入到流中。所以.NET為我們提供了一下更方便的支持對流進(jìn)行讀寫的類:BinaryWriterBinaryReaderStreamWriterStreamReader

1.使用BinaryWriter?和?BinaryReader?對象

  BinaryWriter:以二進(jìn)制形式將基元類型寫入流,并支持用特定的編碼寫入字符串。

  BinaryReader:用特定的編碼將基元數(shù)據(jù)類型讀作二進(jìn)制值。

?

下面是示例代碼:

1 public static void WriterReadFile(string filePath) 2 { 3 FileStream fs = null; 4 if (File.Exists(filePath)) 5 { 6 Console.WriteLine("文件已存在."); 7 //return; 8 } 9 using (fs = new FileStream(filePath, FileMode.Create)) 10 { 11 BinaryWriter bw = new BinaryWriter(fs); 12 for (int i = 0; i <= 10; i++) 13 { 14 bw.Write(i); 15 } 16 } 17 using (fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)) 18 { 19 BinaryReader br = new BinaryReader(fs); 20 for (int i = 0; i <= 10; i++) 21 { 22 Console.WriteLine(br.ReadInt32()); 23 } 24 } 25 }

?

2.使用StreamWriter和StreamReader對象?

  StreamWriter:實(shí)現(xiàn)一個(gè)?TextWriter,使其以一種特定的編碼向流中寫入字符。

  StreamReader:實(shí)現(xiàn)從字符串進(jìn)行讀取的?TextReader。

?

下面是示例代碼:

1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //如果文件不存在則創(chuàng)建文件 6 using (StreamWriter sw = File.AppendText("log.txt")) 7 { 8 WriteLog("日志1", sw); 9 WriteLog("日志2", sw); 10 sw.Close(); 11 } 12 using (StreamReader sr = File.OpenText("log.txt")) 13 { 14 ReadLog(sr); 15 } 16 17 Console.Read(); 18 } 19 20 /// <summary> 21 /// 記錄日志 22 /// </summary> 23 /// <param name="logMessage">日志信息</param> 24 /// <param name="sw">StreamWriter父類對象</param> 25 public static void WriteLog(string logMessage, TextWriter sw) 26 { 27 sw.Write("Log 開始:");//在.Net 4.5提供了異步讀寫方法 28 sw.WriteLine("{0} {1}",DateTime.Now.ToLongTimeString(),DateTime.Now.ToLongDateString()); 29 sw.WriteLine(""); 30 sw.WriteLine(" :{0}", logMessage); 31 sw.WriteLine("-----------------------------"); 32 //更新文件文本 33 sw.Flush(); 34 } 35 36 /// <summary> 37 /// 讀取日志 38 /// </summary> 39 /// <param name="sr"></param> 40 public static void ReadLog(StreamReader sr) 41 { 42 string line; 43 while((line =sr.ReadLine())!=null) 44 { 45 Console.WriteLine(line); 46 } 47 sr.Close(); 48 } 49 }

?

猛擊下載:示例源碼

參考資料:

http://msdn.microsoft.com/zh-cn/library/36b93480(v=vs.100)

http://msdn.microsoft.com/zh-cn/library/3zc0w663(v=vs.100)

作者:晴天豬

出處:http://www.cnblogs.com/IPrograming?

本文版權(quán)歸作者和博客園共有,轉(zhuǎn)載請注明出處。

轉(zhuǎn)載于:https://www.cnblogs.com/IPrograming/archive/2012/08/30/Base_IO_2.html

總結(jié)

以上是生活随笔為你收集整理的.NET I/O 学习笔记:文件的读和写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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