Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
kalaps021
0 / 0 / 0
Регистрация: 09.06.2013
Сообщений: 19
1

Быстрая загрузка txt файла

22.12.2015, 21:19. Просмотров 325. Ответов 2
Метки нет (Все метки)

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
class DeleteDouble
    {
 
        int _bufferSize = 16384;
 
        public void Delete()
        {
            var _lines = new StringBuilder();
 
            OpenFileDialog _ofd = new OpenFileDialog();
            _ofd.Filter = "Text Files (*.txt)|*.txt";
 
            if (_ofd.ShowDialog() == DialogResult.OK)
            {
                using (StreamReader streamReader = new StreamReader(_ofd.FileName))
                {
                    char[] fileContents = new char[_bufferSize];
                    int charsRead = streamReader.Read(fileContents, 0, _bufferSize);
 
                    // Can't do much with 0 bytes
                    if (charsRead == 0)
                        throw new Exception("File is 0 bytes");
 
                    while (charsRead > 0)
                    {
                        _lines.Append(fileContents);
                        charsRead = streamReader.Read(fileContents, 0, _bufferSize);
                    }
                }
            }
 
            //var _linesAnti = _lines.Distinct();
            _lines.Append("Example");
 
            StreamWriter _writer = new StreamWriter(_ofd.FileName);
 
            _writer.WriteLine(_lines);
            _writer.Close();
}
}
Нашел этакий быстрый метод загруки файла, решил проверить, как он загружает, добавил в StringBuilder еще строчку "Example", вот что получил на выходе:
Быстрая загрузка txt файла

При уменьшении _bufferSize до 2048 работает нормально, но намного медленнее, что проще не использовать данный метод. Что делать, даже не знаю.
P.S. Еще вопрос, как мне потом все строки их StringBuilder преобразовать в строковый массив, чтобы удалить потом из него дубликаты, т.к метода удаления дубликатов у StringBuilder'a нету
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2015, 21:19
Ответы с готовыми решениями:

Загрузка Txt файла в DataGridView
Здарова народ помогите пожалуйста, нужно считать прикреплённый файл в...

Загрузка файла TXT в таблицу dataGridView
Передаю файл TXT в в таблицу dataGridView, но к сожалению не сохраняется...

Загрузка в DataGridView определённой строки из txt-файла
Здравствуйте. Есть код, который загружает все строки текстового файла в...

Слишком быстрая загрузка прогресбара
Добрый день. Проблема в следующем: у меня есть прогрессбар, который заполняется...

Сохранение и быстрая загрузка данных dataGrid
По введенным в textbox начальному значению, программа производит расчеты и...

2
HectorPrima
343 / 220 / 134
Регистрация: 19.12.2014
Сообщений: 808
23.12.2015, 08:59 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
            List<string> list = new List<string>();
            list.Add("bbb");
            list.Add("bbb");
            list.Add("aaa");
            list.Add("ccc");
            list.Add("aaa");
            list.Add("ddd");
            list.Add("aaa");
            List<string> clear = list.Distinct().ToList();
            foreach(string line in clear)
            {
                Console.WriteLine(line);
            }
            Console.ReadKey();
0
Someone007
2227 / 1795 / 820
Регистрация: 09.05.2015
Сообщений: 4,434
Завершенные тесты: 1
23.12.2015, 11:29 3
C#
1
_lines.Append(fileContents);
Вы тут добавляете символы не учитывая количество прочитанных символов, которое не всегда совпадает с размером буфера. В итоге получается мусор.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2015, 11:29

Загрузка из .txt в несколько listbox
Здравствуйте всем:( У меня большая проблема, вообще не могу найти ответ на...

Загрузка страницы сайта в txt документ
Здравствуйте, хотелось бы узнать можно ли с помощью c# скачать страницу с сайта...

Загрузка содержимого doc файла в RichTextBox по пути файла
Как вывести данный в RichTextBox с doc документа по его пути при нажатие кнопки?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru