Опубликован: 22.12.2012 | Доступ: свободный | Студентов: 482 / 20 | Длительность: 07:20:00
Специальности: Программист, Архитектор программного обеспечения
Теги:
Лекция 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иложения.
- Пример работы приложения.
- Вывод о проделанной работе.
Контрольные вопросы
- Что такое данные приложения?
- Какие операции над данными используются при выполнении приложения?
- Какие виды хранилищ данных существуют?
- Что такое локальные хранилища данных?
- Что такое перемещаемые хранилища данных?
- Что такое временные хранилища данных?