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 )
//關閉此streamreader物件
m_streamreader.close ( ) ;
//建立乙個檔案流,用以寫入或者建立乙個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).如何實現列印預覽:
string strtext = richtextbox1.text ;
stringreader myreader = new stringreader ( strtext ) ;
printpreviewdialog printpreviewdialog1 = new printpreviewdialog ( ) ;
printpreviewdialog1.document = theprintdocument ;
printpreviewdialog1.formborderstyle = formborderstyle.fixed3d ;
printpreviewdialog1.showdialog ( ) ;
(4).如何列印檔案:
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 ;
font printfont = richtextbox1.font ;
solidbrush mybrush = new solidbrush ( color.black ) ;
//計算每一頁列印多少行
linesperpage = ev.marginbounds.height / printfont.getheight ( ev.graphics ) ;
//重複使用stringreader物件 ,列印出richtextbox1中的所有內容
while ( count < linesperpage && ( ( line = myreader.readline ( ) ) != null ) )
if ( line != null )
ev.hasmorepages = true ;
else
ev.hasmorepages = false ;
mybrush.dispose ( ) ;
三. 用c#處理文字檔案的完整源程式**(control.cs):
掌握了上面這些關鍵步驟,就可以方便的得到用c#來處理文字檔案的乙個完整的源程式,具體如下:
using system ;
using system.drawing ;
using system.collections ;
using system.componentmodel ;
using system.windows.forms ;
using system.data ;
using system.io ;
using system.drawing.printing ;
public class form1 : form
//清除程式中使用多的資源
protected override void dispose ( bool disposing )
}base.dispose ( disposing ) ;
}private void initializecomponent ( )
static void main ( )
private void button1_click ( object sender , system.eventargs e )
//關閉此streamreader物件
m_streamreader.close ( ) ;
} }
catch ( exception em )
}private void button3_click ( object sender , system.eventargs e )
}catch ( exception em )
}private void button4_click ( object sender , system.eventargs e )
//預覽列印文件
private void button2_click ( object sender , system.eventargs e )
catch ( exception exp )
}//列印richtextbox1中的內容
private void button5_click ( object sender , system.eventargs e )
}protected void theprintdocument_printpage ( object sender , printpageeventargs ev )
if ( line != null )
ev.hasmorepages = true ;
else
ev.hasmorepages = false ;
mybrush.dispose ( ) ;
}}
C 處理文字檔案
文字檔案是一種常用的檔案格式,所以如何處理文字檔案也就成為程式設計的乙個重點。本文就來 一下用c 是如何來處理文字檔案。其內容重點就是如何讀取文字檔案內容 如何改變文字檔案的內容,以及如何用c 來實現對讀取後的文字檔案的列印預覽和列印。一 本文程式設計和執行的軟體環境 1 微軟公司視窗2000伺服器...
C 處理文字檔案
文字檔案是一種常用的檔案格式,所以如何處理文字檔案也就成為程式設計的乙個重點。本文就來 一下用c 是如何來處理文字檔案。其內容重點就是如何讀取文字檔案內容 如何改變文字檔案的內容,以及如何用c 來實現對讀取後的文字檔案的列印預覽和列印。一 本文程式設計和執行的軟體環境 1 微軟公司視窗2000伺服器...
C 處理文字檔案
文字檔案是一種常用的檔案格式,所以如何處理文字檔案也就成為程式設計的乙個重點。本文就來 一下用c 是如何來處理文字檔案。其內容重點就是如何讀取文字檔案內容 如何改變文字檔案的內容,以及如何用c 來實現對讀取後的文字檔案的列印預覽和列印。1 微軟公司視窗2000伺服器版 2 net framework...