程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#處理文本文件

C#處理文本文件

編輯:C#入門知識

    文本文件是一種常用的文件格式,所以如何處理文本文件也就成為編程的一個重點。本文就來探討一下用C#是如何來處理文本文件。其內容重點就是如何讀取文本文件內容、如何改變文本文件的內容,以及如何用C#來實現對讀取後的文本文件的打印預覽和打印。  

一.  本文程序設計和運行的軟件環境:  

(1).微軟公司視窗2000服務器版  

(2)..Net  FrameWork  SDK  Beta  2  

二.  C#處理文本文件的一些重要環節:  

(1).如何讀取文本文件內容:  

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

    FileStream  fs  =  new  FileStream  (  "C:\file.txt"    ,  FileMode.Open  ,  FileAccess.Read  )  ;
        StreamReader  m_streamReader  =  new  StreamReader  (  fs  )  ;  
    //使用StreamReader類來讀取文件
    m_streamReader.BaseStream.Seek  (  0  ,  SeekOrigin.Begin  )  ;
        //  從數據流中讀取每一行,直到文件的最後一行,並在richTextBox1中顯示出內容
        this.richTextBox1.Text  =  ""  ;
        string  strLine  =  m_streamReader.ReadLine  (  )  ;
        while  (  strLine  !=  null  )
        {
            this.richTextBox1.Text  +=  strLine  +  " "  ;
            strLine  =  m_streamReader.ReadLine  (  )  ;
        }
        //關閉此StreamReader對象
        m_streamReader.Close  (  )  ;    


(2).如何改變文本文件中數據內容:  

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

    //創建一個文件流,用以寫入或者創建一個StreamWriter
    FileStream  fs  =  new  FileStream  (  "C\file.txt"    ,  FileMode.OpenOrCreate  ,  FileAccess.Write  )  ;
        StreamWriter  m_streamWriter  =  new  StreamWriter  (  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中顯示的內容,通過打印預覽對話框顯示出來:  

string  strText  =  richTextBox1.Text  ;
    StringReader  myReader  =  new  StringReader  (  strText  )  ;
    PrintPreviewDialog  printPreviewDialog1  =  new  PrintPreviewDialog  (  )  ;
    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中的內容:  

            float  linesPerPage  =  0  ;
                float  yPosition  =  0  ;
                int  count  =  0  ;
                float  leftMargin  =  ev.MarginBounds.Left  ;
                float  topMargin  =  ev.MarginBounds.Top  ;
                string  line  =  null  ;
        

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved