码迷,mamicode.com
首页 > Windows程序 > 详细

c#读取大Txt文件

时间:2014-12-11 23:47:38      阅读:573      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   sp   for   

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 = 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);
            }
        }


    }
}

窗体 bubuko.com,布布扣

 

c#读取大Txt文件

标签:style   blog   http   io   ar   color   os   sp   for   

原文地址:http://www.cnblogs.com/hlbs/p/4158746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!