Российская международная академия туризма
Опубликован: 09.09.2008 | Доступ: свободный | Студентов: 811 / 38 | Оценка: 4.33 / 4.33 | Длительность: 13:07:00
Темы: Базы данных, Программирование
Специальности: Администратор баз данных
Теги:
Лекция 5:
Скорость загрузки текстового файла
Шаг 5. Создаем процедуру побайтовой загрузки файла
// побайтовый вывод private void menuItem2_Click(object sender, System.EventArgs e) { string file_name="*.*"; if (openFileDialog1.ShowDialog()==DialogResult.OK) { file_name=openFileDialog1.FileName; } else { return;} FileStream fin; try { fin =new FileStream(file_name,FileMode.Open); } // набор catch для одного try catch(FileNotFoundException exc){// если файл не найден MessageBox.Show(file_name,"Файл не найден"); return;} catch(IndexOutOfRangeException exc){// если файл не доступен MessageBox.Show(file_name,"Файл не доступен"); return;} long L=fin.Length; int i; int P=1; listBox1.Items.Clear(); // читаем байты int s=0; char ch=' '; string sc=""; // считаем время timer1.Enabled=true; // запускаем таймер long T=DateTime.Now.Ticks; // фиксируем время начальной загрузки do {// открываем цикл считывания try{ i=fin.ReadByte(); // открываем файл для чтения } catch(IOException exc){ return; } // если поток существует progressBar1.Visible=true; if(i!=1) {// итератор s=s+1; ch=(char)i; sc=sc+((char)i).ToString(); if (ch = = '\n') { listBox1.Items.Add(sc); sc=""; } //Кратно 100 if (P*(int)L/100==s) { P=P+1; progressBar1.Value=P-1; } } } // если поток закончился while(i!=-1); fin.Close(); MessageBox.Show((DateTime.Now.Ticks-T).ToString(),"Время загрузки"); timer1.Enabled=false; progressBar1.Visible=false; }
Шаг 6. Выход из программы
private void menuItem5_Click(object sender, System.EventArgs e) { Application.Exit(); }