usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;namespaceReadBigTxtDemo
{public partial classForm1 : Form
{publicForm1()
{
InitializeComponent();
}private void btnRead_Click(objectsender, EventArgs e)
{if(ReadBigFile())
{
lblResult.Text= "Completed!";
}
}private boolReadBigFile()
{string sTmpFile=@"c:\tmpTest.txt";if(File.Exists(sTmpFile))
{
File.Delete(sTmpFile);
}if (!System.IO.File.Exists(sTmpFile))
{
FileStream fs;
fs=File.Create(sTmpFile);
fs.Close();
}if (!File.Exists(txtFileName.Text.Trim()))
{
lblResult.Text= "File not exist!";
txtFileName.Focus();return false;
}
FileStream streamInput=System.IO.File.OpenRead(@txtFileName.Text.Trim());
FileStream streamOutput=System.IO.File.OpenWrite(sTmpFile);int iRowCount = 10;int.TryParse(txtRowCount.Text.Trim(), outiRowCount);try{for (int i = 1; i <=iRowCount; )
{int result =streamInput.ReadByte();if (result == 13)
{
i++;
}if (result == -1)
{break;
}
streamOutput.WriteByte((byte)result);
}
}finally{
streamInput.Dispose();
streamOutput.Dispose();
}string sContent =ReaderFile(sTmpFile);
CopyToClipboard(sContent);return true;
}public static string ReaderFile(stringpath)
{string fileData = string.Empty;try{///读取文件的内容
StreamReader reader = newStreamReader(path, Encoding.Default);
fileData=reader.ReadToEnd();
reader.Close();
}catch(Exception ex)
{//throw new Exception(ex.Message,ex);
} ///抛出异常
returnfileData;
}private void CopyToClipboard(stringsSource)
{
Clipboard.Clear();if (!string.IsNullOrEmpty(sSource))
{
Clipboard.SetText(sSource);
}
}
}
}
窗体