C#處理文字檔TXT執行個體詳解

來源:互聯網
上載者:User

標籤:bottom   shm   dbr   amr   plugin   備忘   padding   document   tco   

本文執行個體講述了C#處理文字檔TXT的方法。分享給大家供大家參考。具體分析如下:


1. 如何讀取文字檔內容:

這裡介紹的程式中,是把讀取的文字檔,用一個richTextBox組件顯示出來。要讀取文字檔,必須使用到”StreamReader”類,這個類是由名字空間”System.IO”中定義的。通過”StreamReader”類的”ReadLine()”方法,就可以讀取開啟資料流當前行 的資料了。下面代碼實現的功能就是讀取”C:\file.txt”並在richTextBox1組件中顯示出來:

FileStreamfs=newFileStream("C:\\file.txt",FileMode.Open,FileAccess.Read);StreamReaderm_streamReader=newStreamReader(fs);//使用StreamReader類來讀取檔案m_streamReader.BaseStream.Seek(0,SeekOrigin.Begin);//從資料流中讀取每一行,直到檔案的最後一行,並在richTextBox1中顯示出內容this.richTextBox1.Text="";stringstrLine=m_streamReader.ReadLine();while(strLine!=null){this.richTextBox1.Text+=strLine+"\n";strLine=m_streamReader.ReadLine();}//關閉此StreamReader對象m_streamReader.Close();


2. 如何改變文字檔中資料內容:

下面的程式中,改變文字檔資料內容的功能是通過改變richTextBox1中的內容來實現的,當richTextBox1這的內容改變後,按動”另存新檔”,就把richTextBox1中內容儲存到指定的文字檔中了。要想改變文字檔內容,要使用到”StreamWriter”類,這個類 和”StreamReader”一樣,都是由”System.IO”名字空間來定義的。通過”StreamWriter”類的”Write()”方 法,就可以輕鬆實現文字檔內容的更改了。下面代碼的功能是:如果”C”盤存在”file.txt”,則把richTextBox1中的內容寫入 到”file.txt”中,如果不存在,則建立此檔案,然後在寫入文本資料。

//建立一個檔案流,用以寫入或者建立一個StreamWriterFileStreamfs=newFileStream("C\\file.txt",FileMode.OpenOrCreate,FileAccess.Write);StreamWriterm_streamWriter=newStreamWriter(fs);m_streamWriter.Flush();//使用StreamWriter來往檔案中寫入內容m_streamWriter.BaseStream.Seek(0,SeekOrigin.Begin);//把richTextBox1中的內容寫入檔案m_streamWriter.Write(richTextBox1.Text);//關閉此檔案m_streamWriter.Flush();m_streamWriter.Close();

從上面這二個代碼可以,寫入資料比起讀取資料要顯得容易些。


3. 如何?預覽列印:

預覽列印是通過預覽列印對話方塊來實現的,實現對讀取得文字檔的預覽列印,最為重要的就是要通知預覽列印對話方塊所要預覽的檔案的內容。下面代碼就是把richTextBox1中顯示的內容,通過預覽列印對話方塊顯示出來:

stringstrText=richTextBox1.Text;StringReadermyReader=newStringReader(strText);PrintPreviewDialogprintPreviewDialog1=newPrintPreviewDialog();printPreviewDialog1.Document=ThePrintDocument;printPreviewDialog1.FormBorderStyle=FormBorderStyle.Fixed3D;printPreviewDialog1.ShowDialog();


4. 如何列印檔案:

在名字空間”System.Drawing.Printing”中定義了一個類”PrintDocument”,通過調用此類的”Print”方法就可 以觸發在此名字空間中封裝的另外一個事件”PrintPage”。在此事件中設定要列印的文檔內容,從而實現隊文字檔的列印操作。下面代碼是調 用”PrintDocument”的”Print”方法,和呼叫事件”PrintPage”來列印richTextBox1中的內容:

ThePrintDocument.Print();//其中ThePrintDocument是"PrintDocument"類的一個對象

下列代碼是設定列印內容即列印richTextBox1中的內容:

floatlinesPerPage=0;floatyPosition=0;intcount=0;floatleftMargin=ev.MarginBounds.Left;floattopMargin=ev.MarginBounds.Top;stringline=null;FontprintFont=richTextBox1.Font;SolidBrushmyBrush=newSolidBrush(Color.Black);//計算每一頁列印多少行linesPerPage=ev.MarginBounds.Height/printFont.GetHeight(ev.Graphics);//重複使用StringReader對象,列印出richTextBox1中的所有內容while(count<linesPerPage&&((line=myReader.ReadLine())!=null)){//計算出要列印的下一行所基於頁面的位置yPosition=topMargin+(count*printFont.GetHeight(ev.Graphics));//列印出richTextBox1中的下一行內容ev.Graphics.DrawString(line,printFont,myBrush,leftMargin,yPosition,newStringFormat());count++;}//判斷如果還要下一頁,則繼續列印if(line!=null)ev.HasMorePages=true;elseev.HasMorePages=false;myBrush.Dispose();


注釋:

由於在上述的代碼中省掉了這些類所對於地名字空間,所以要想成功的編譯和運行上述代碼,就要在程式頭部要匯入所使用的名字空間。

希望本文所述對大家的C#程式設計有所協助。

除聲明外, 跑步客文章均為原創,轉載請以連結形式標明本文地址
  C#處理文字檔TXT執行個體詳解

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23148.html






相關內容C#設計模式之Observer觀察者模式解決牛頓童鞋成績問題樣本C#實現檔案上傳下載Excel文檔範例程式碼C#設定檔操作類分享IIS下調用認證出現異常的解決方案 (C#)
C#中事件的定義和使用C#實現利用泛型將DataSet轉為Model的方法C#通過yield實現數組全排列的方法C#備忘錄模式(Memento Pattern)執行個體教程

C#處理文字檔TXT執行個體詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.