標籤: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執行個體詳解