首页 > 代码库 > c#读取大Txt文件

c#读取大Txt文件

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace ReadBigTxtDemo{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void btnRead_Click(object sender, EventArgs e)        {            if (ReadBigFile())            {                lblResult.Text = "Completed!";            }          }        private bool ReadBigFile()        {            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(), out iRowCount);            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(string path)        {            string fileData = http://www.mamicode.com/string.Empty;            try            {   ///读取文件的内容                    StreamReader reader = new StreamReader(path, Encoding.Default);                fileData = reader.ReadToEnd();                reader.Close();            }            catch (Exception ex)            {                // throw new Exception(ex.Message,ex);              }  ///抛出异常                return fileData;        }        private void CopyToClipboard(string sSource)        {            Clipboard.Clear();            if (!string.IsNullOrEmpty(sSource))            {                Clipboard.SetText(sSource);            }        }    }}

窗体

 

c#读取大Txt文件