0

私は、非常に大きなログ ファイル (プレーン テキストと数値のみ) を読み取り、それらをテキスト ボックス (メモ帳のようなもの) に書き出すために使用する、自分用の小さなプログラムを作成しました。

私はこの方法を使用してファイルを読み取りますが、そのトリックを実行している間、それを最適化する方法があるかどうか、および読み取り中の現在のファイルが読み取り中に書き込みからロックアウトされているかどうか疑問に思っています (常にログファイルであるため)更新されたこれは私にとっては良くありません)。

    private void ReadFile(string path)
    {
        using (FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
        using (StreamReader reader = new StreamReader(file))
        {
            StringBuilder sb = new StringBuilder();
            string r = reader.ReadLine();

            while (r != null)
            {
                sb.Append(r);
                sb.Append(Environment.NewLine);
                r = reader.ReadLine();
            }
            textBox.Text = sb.ToString();
            reader.Close();
        }
    }
4

2 に答える 2

0

これを試して:

using System;
using System.IO;

namespace csharp_station.howto
{
    class TextFileReader
    {
        static void Main(string[] args)
        {
            // create reader & open file
            Textreader tr = new StreamReader("date.txt");

            // read a line of text
            Console.WriteLine(tr.ReadLine());

            // close the stream
            tr.Close();

            // create a writer and open the file
            TextWriter tw = new StreamWriter("date.txt");

            // write a line of text to the file
            tw.WriteLine(DateTime.Now);

            // close the stream
            tw.Close();
        }
    }
}

これが最も簡単な方法です。そして、あなたのコードは私にはうまく見えると思います。ログ ファイルをテキスト ボックスに読み込んでも問題が見つかりません。脅威を使用して同時に実行しようとする可能性があります....

于 2013-04-24T14:40:22.293 に答える