| Россия |
Опубликован: 22.12.2012 | Уровень: для всех | Доступ: платный
Лекция 14:
Лабораторная работа
Лабораторная работа №4
Тема
Работа с файлами.
Задание
Для указанного ваpианта pазpаботать пpогpамму, работающую с файловой системой.
Исполнение
Изучить систему использования информации из файлов. Отладить и оттестировать составленное приложение
Цель
Формирование навыков разработки приложений WinRT
Методические указания
Проанализируйте задание и определите необходимые файлы для своего приложения.
Определите разметку документа, например
<Window x:Class="WorkWithFiles.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="313" Width="345">
<Grid>
<TextBox Height="23" HorizontalAlignment="Left" Margin="12,12,0,0"
Name="textBox1" VerticalAlignment="Top" Width="302" Text="D:\File.txt" />
<Button Content="Создать файл" Height="23" HorizontalAlignment="Left"
Margin="12,41,0,0" Name="Create" VerticalAlignment="Top" Width="302" Click="Create_Click" />
<Button Content="Удалить файл" Height="23" HorizontalAlignment="Left"
Margin="12,70,0,0" Name="Delete" VerticalAlignment="Top" Width="302" Click="Delete_Click" />
<Button Content="Простое построчное считывание" Height="23"
HorizontalAlignment="Left" Margin="12,128,0,0" Name="ReadLines"
VerticalAlignment="Top" Width="302" Click="ReadLines_Click" />
<Button Content="Копирование файла" Height="23" HorizontalAlignment="Left"
Margin="12,99,0,0" Name="CopyFile" VerticalAlignment="Top" Width="302"
Click="CopyFile_Click" />
<Button Content="Получить все txt файлы в директории" Height="23"
HorizontalAlignment="Left" Margin="12,157,0,0" Name="GetFiles"
VerticalAlignment="Top" Width="302" Click="GetFiles_Click" />
<Button Content="Запись в файл" Height="23" HorizontalAlignment="
Left" Margin="12,186,0,0" Name="Write" VerticalAlignment="Top"
Width="302" Click="Write_Click" />
<Button Content="Удалить все файлы из папки" Height="23"
HorizontalAlignment="Left" Margin="12,215,0,0" Name="DeleteAll"
VerticalAlignment="Top" Width="302" Click="DeleteAll_Click" />
<Button Content="Получить всю информацию о файле" Height="23"
HorizontalAlignment="Left" Margin="9,244,0,0" Name="GetAllInformation"
VerticalAlignment="Top" Width="302" Click="GetAllInformation_Click" />
</Grid>
</Window> Определите операции, необходимые для работы с файлами с файлами разрабатываемого приложения. Примеры реализации работы с файлами:
- Создание файла
private void Create_Click(object sender, RoutedEventArgs e) { if (!System.IO.File.Exists(this.textBox1.Text)) try { System.IO.File.Create(this.textBox1.Text); } catch (System.IO.IOException ex) { MessageBox.Show(ex.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Stop); return; } else MessageBox.Show("Файл уже существует", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Stop); } - Удаление файла
private void Delete_Click(object sender, RoutedEventArgs e) { if (System.IO.File.Exists(this.textBox1.Text)) try { System.IO.File.Delete(this.textBox1.Text); } catch (System.IO.IOException ex) { MessageBox.Show(ex.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Stop); return; } else MessageBox.Show("Файл не существует", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Stop); } - Чтение содержимого файла
private void ReadLines_Click(object sender, RoutedEventArgs e) { // Считать файл можно сразу же, как одну строку try { string text = System.IO.File.ReadAllText(this.textBox1.Text); MessageBox.Show(text, "Полученный текст", MessageBoxButton.OK, MessageBoxImage.Exclamation); } catch (System.IO.IOException ex) { MessageBox.Show(ex.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Stop); return; }*/ - возможны и другие способы чтения содержимого файла.
- Копирование файла
private void CopyFile_Click(object sender, RoutedEventArgs e) { string sourcePathFile = this.textBox1.Text; // Какой файл копируем string targetPathFile = @"D:\1.txt"; // Куда будем копировать if (System.IO.File.Exists(this.textBox1.Text)) try { System.IO.File.Copy(sourcePathFile, targetPathFile, true); } catch (System.IO.IOException ex) { MessageBox.Show(ex.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Stop); return; } else MessageBox.Show("Файл не существует", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Stop); } - Запись в файл
private void Write_Click(object sender, RoutedEventArgs e) { string[] lines = { "Раз", "Два", "Четыре" }; try { System.IO.File.WriteAllLines(this.textBox1.Text, lines); } catch (DirectoryNotFoundException dirNotFound) { MessageBox.Show(dirNotFound.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Stop); }
Содержание отчета
- Задание к лабораторной работе
- Описание использования данных в приложениях WinRT
- Листинг пpиложения.
- Пример работы приложения.
- Вывод о проделанной работе.
Контрольные вопросы
- Что такое данные приложения?
- Какие операции над данными используются при выполнении приложения?
- Какие виды хранилищ данных существуют?
- Что такое локальные хранилища данных?
- Что такое перемещаемые хранилища данных?
- Что такое временные хранилища данных?