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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【winfrom】读写文本

發布時間:2024/4/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【winfrom】读写文本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

//Stream 字節序列的一般視圖 讀取 寫入 查找
// 抽象類
//TextWriter(Reader) TextReader 讀取連續字符系列的讀取器 StreamWriter,StringWriter StreamReader

//StreamWriter(Reader) IDispose
//using(.....) 默認編碼 utf8

//FileStream 文件流 字節

//File FileInfo

//讀取private void button1_Click(object sender, EventArgs e){using (StreamReader sr = new StreamReader("mytext.txt")){Console.WriteLine(sr.ReadToEnd());string line = "";while ((line = sr.ReadLine()) != null){Console.WriteLine(line);}// //char[] buffer;// //buffer =new char[(int)sr.BaseStream.Length];// //sr.Read(buffer, 0, (int)sr.BaseStream.Length);// //Console.WriteLine(new string(buffer));}//文本復制到另一個文件里char[] buffer;using (StreamReader sr = new StreamReader("mytext.txt")){Encoding en = sr.CurrentEncoding;using (StreamWriter sw = new StreamWriter("mytextto.txt")){//char[] buffer;//int count=(int)sr.BaseStream.Length;//buffer = new char[count];//sr.Read(buffer, 0, count);//Task.Run(()=>sw.WriteAsync(buffer, 0, count));Encoding enw = sw.Encoding;buffer = new char[20];while (true){int r = sr.Read(buffer, 0, 20);if (r == 0) break;sw.Write(buffer, 0, 20);}}}}

  //寫入?

{using (TextWriter tw = new StreamWriter("mytext.txt", false)){tw.Write("sssssssssssss");//tw.Flush();tw.Write("ddddddddddd");//不換行tw.Write(tw.NewLine);//換行符//tw.Flush();tw.WriteLine("cccccccccccccc");//寫入,換行tw.WriteLine("eeeeeeeeeeeee");//Task t = tw.WriteAsync("ffffffffff");tw.Flush();//清理緩沖區,把緩沖區的數據寫入基礎 設備tw.Close();}}

  

private void button2_Click(object sender, EventArgs e){//using(FileStream fs=new FileStream("mytext.txt",FileMode.Open,FileAccess.Read))//{// using(FileStream fs1=new FileStream("mytextto.txt",FileMode.OpenOrCreate,FileAccess.Write))//Append FileAccess.Write// {// byte[] buffer = new byte[1024*1024*5];// while(true)// {// int r = fs.Read(buffer, 0, buffer.Length);// if (r > 0)// fs1.Write(buffer, 0, r);// if (r < buffer.Length) break;// }// }//}using (FileStream fs = new FileStream("第一節DataSet與DataTable1.exe", FileMode.Open, FileAccess.Read)){using (FileStream fs1 = new FileStream("D:/第一節DataSet與DataTable2.exe", FileMode.OpenOrCreate, FileAccess.Write))//Append FileAccess.Write{byte[] buffer = new byte[1024 * 1024 * 5];while (true){int r = fs.Read(buffer, 0, buffer.Length);if (r > 0)fs1.Write(buffer, 0, r);if (r < buffer.Length) break;}}}}

  

private FileStream readFs;private FileStream writeFs;private int busize = 1024 * 1024 * 5;private byte[] buffer;

  //異步讀寫文件

private void button4_Click(object sender, EventArgs e){buffer = new byte[busize];ReadFileAsync("第一節DataSet與DataTable1.exe");}

  ?//異步讀取

private void ReadFileAsync(string fName){readFs = new FileStream(fName, FileMode.Open, FileAccess.Read, FileShare.Read, busize, true);IAsyncResult iResult = readFs.BeginRead(buffer, 0, buffer.Length, OnCompleteRead, null);}object lockbu = new object();

  ?//異步讀的回調

private void OnCompleteRead(IAsyncResult iResult){int byteCount = readFs.EndRead(iResult);if (byteCount > 0){//寫讀取到的長度WriteFileAsync("D:/第一節DataSet與DataTable2.exe", byteCount);if (byteCount < busize)readFs.Close();elsereadFs.BeginRead(buffer, 0, busize, OnCompleteRead, null);}elsereadFs.Close();}

  ?//異步寫

private void WriteFileAsync(string fName, int count){writeFs = new FileStream(fName, FileMode.Append, FileAccess.Write, FileShare.None, count, true);writeFs.BeginWrite(buffer, 0, count, OnCompleteWrite, null);writeFs.Close();}

  //異步寫的回調

private void OnCompleteWrite(IAsyncResult iResult){writeFs.EndWrite(iResult);}

  

轉載于:https://www.cnblogs.com/Microera/p/8648564.html

總結

以上是生活随笔為你收集整理的【winfrom】读写文本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。