Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Производительный метод чтения строк из gzip архива. / 1 сообщений из 1, страница 1 из 1
30.08.2013, 15:30
    #38382505
Testor1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Производительный метод чтения строк из gzip архива.
Всем привет!

Посоветуйте производительный метод по чтению строк из текстового файла gz архива?

Использую Sistem.IO.Compression. Производительность не удовлетворительная.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
        public static void Decompress(FileInfo fi, ref Boolean[] columns)
        {
            Int32 bufferSize = 64*1024*1024; 
            string curFile = fi.FullName;
            string origName = curFile.Remove(curFile.Length -
                    fi.Extension.Length)+@".tmp";


            using (FileStream inFile = fi.OpenRead())
            {
                using (BufferedStream bufferedReadStream = new BufferedStream(inFile, bufferSize))
                {
                    using (GZipStream Decompress = new GZipStream(bufferedReadStream, CompressionMode.Decompress))
                    {
                            using (StreamReader sr = new StreamReader(Decompress))
                            {

                                using (FileStream fo = new FileStream(origName, FileMode.Create))
                                {
                                    //using (BufferedStream bufferedWriteStream = new BufferedStream(fo, bufferSize))
                                    //{

                                        using (StreamWriter outFile = new StreamWriter(fo))
                                        {

                                            
                                            while (sr.Peek() >= 0)
                                            {
                                                outFile.Write(csv_remove_unused_data(sr.ReadLine(),'|',ref columns) + "\n");
                                            }

                                            //bufferedWriteStream.Flush();

                                        }
                                    //}
                                }
                        


                        }
                    }
                }
            }
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Производительный метод чтения строк из gzip архива. / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]