Лабораторная работа 14
Выполнить: Разработайте
приложение, которое сохраняет в файл информацию из списка (ListBox) и загружает
из файла информацию обратно в список.
[Название
проекта: Lesson_15Lab1, название файла L15Lab1.cs]
Выполнение:
1.
Поместите на форму элементы: список ListBox (lst), ListBox (lstFromfile)
текстовое поле TextBox (txt),
кнопки: btnAdd («Добавить элемент в
список»), btnSave («Сохранить
в файле»), btnOpen («Загрузить
из файла»). Расположите правильно элементы (рисунок).
2.
Добавьте пространство имен для работы с файлами:
1 |
using System.IO; |
3.
При нажатии на btnAdd («Добавить
элемент в список») в список lst должна добавиться строка,
записанная в текстовое окно txt, а само окно при этом должно
очиститься. Добавьте код для события click кнопки btnAdd:
1 2 3 4 5 |
private void btnAdd_Click(object sender, EventArgs e) { lst.Items.Add(txt.Text); txt.Clear(); } |
4.
По щелчку на кнопке btnSave вся
информация со списка должна добавляться во введенный пользователем в текстовое
окно текстовый файл. Для этого добавьте процедуру для события Click кнопки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
private void btnSave_Click(object sender, EventArgs e) { string fileName = txtFileName.Text; // путь к файлу if (File.Exists(fileName)) { File.Delete(fileName); // если файл существует - удаляем его } using (FileStream fs = File.Create(fileName, 1024)) // класс для работы с файлами // класс для работы с данными файла в двоичной виде using(BinaryWriter bw = new BinaryWriter(fs)) { for (var i = 0; i < lst.Items.Count; i++) // пока не конец списка { bw.Write(lst.Items[i].ToString()); // записываем в файл каждый пункт } bw.Close(); fs.Close(); } } |
5.
Событие Click кнопки btnOpen («Загрузить
из файла») запрограммируйте таким образом, чтобы в список помещались все строки
из файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
private void btnOpen_Click(object sender, EventArgs e) { string fileName = txtFileName.Text; lstFromfile.Items.Clear(); using (FileStream fs = new FileStream(fileName, FileMode.Open)) using (BinaryReader br = new BinaryReader(fs)) { // метод PeekChar() возвращает следующий прочитанный символ // если символов нет - возвращается -1 while (br.PeekChar() != -1) { // добавляем в список очередную прочитанную строку lstFromfile.Items.Add(br.ReadString()); } br.Close(); fs.Close(); } } |
5.
Запустите приложение, внесите в список lst несколько
строк и попытайтесь сохранить их в файл (желательно с расширением .txt:
например, proba.txt).
Если не написан путь к файлу, то файл сохранится в папке /bin/Debug Вашего проекта.