zoukankan      html  css  js  c++  java
  • C#

    // Get Stream of the file
    fileReader = new StreamReader(File.Open(this.FileName, FileMode.Open));
    
    FileInfo fileInfo = new FileInfo(this.FileName);
    
    long bytesRead = 0;
    
    // Change the 75 for performance.  Find a number that suits your application best
    int bufferLength = 1024 * 75;
    
    while (!fileReader.EndOfStream)
    {
        double completePercent = ((double)bytesRead / (double)fileInfo.Length);
    
        // I am using my own Progress Bar Dialog I left in here to show an example
        this.ProgressBar.UpdateProgressBar(completePercent);
    
        int readLength = bufferLength;
    
        if ((fileInfo.Length - bytesRead) < readLength)
        {
            // There is less in the file than the lenght I am going to read so change it to the 
            // smaller value
            readLength = (int)(fileInfo.Length - bytesRead);
        }
    
        char[] buffer = new char[readLength];
    
        // GEt the next chunk of the file
        bytesRead += (long)(fileReader.Read(buffer, 0, readLength));
    
        // This will help the file load much faster
        string currentLine = new string(buffer).Replace("
    ", string.Empty);
    
        // Load in background
        this.Dispatcher.BeginInvoke(new Action(() =>
            {
                TextRange range = new TextRange(textBox.Document.ContentEnd, textBox.Document.ContentEnd);
                range.Text = currentLine;
    
            }), DispatcherPriority.Normal);
    }
  • 相关阅读:
    centos 7遇到的问题
    Exceptions&Files
    关于Transtion属性收藏
    游戏主循环知识积累
    display:inline、block、inline-block的区别
    Sublime text 3快捷键收藏
    业务逻辑详解随记
    探究Struts2运行机制,知识积累
    将博客搬至CSDN
    url随记
  • 原文地址:https://www.cnblogs.com/liusir/p/3203663.html
Copyright © 2011-2022 走看看