Лабы Павловский 2018 / ООП ЛР 5
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра вычислительной техники
отчет
по лабораторной работе №5
по дисциплине «Объектно-ориентированное программирование»
Тема: «Сохранение и загрузка данных из файла»
Студент гр. 6307 |
|
Лазарев С. О. |
Преподаватель |
|
Павловский М. Г. |
Санкт-Петербург
2018
СОДЕРЖАНИ
ЦЕЛЬ 3
ЗАДАНИЕ 3
РАСПЕЧАТКИ СОДЕРЖИМОГО ФАЙЛОВ С ДАННЫМИ 4
ПРОЦЕСС ЗАГРУЗКИ И ВЫГРУЗКИ ДАННЫХ 5
ТЕКСТ ДОКУМЕНТАЦИИ 6
Class app 6
Constructor Summary 6
Method Summary 6
Methods inherited from class java.lang.Object 6
Constructor Detail 6
Method Detail 6
ВЫВОДЫ 7
ИСХОДНЫЙ КОД 8
ЦЕЛЬ 3
ЗАДАНИЕ 3
РАСПЕЧАТКИ СОДЕРЖИМОГО ФАЙЛОВ С ДАННЫМИ 4
ПРОЦЕСС ЗАГРУЗКИ И ВЫГРУЗКИ ДАННЫХ 5
ТЕКСТ ДОКУМЕНТАЦИИ 6
Class app 6
Constructor Summary 6
Method Summary 6
Methods inherited from class java.lang.Object 6
Constructor Detail 6
Method Detail 6
ВЫВОДЫ 7
ИСХОДНЫЙ КОД 8
ЦЕЛЬ 4
ЗАДАНИЕ 4
РАСПЕЧАТКИ СОДЕРЖИМОГО ФАЙЛОВ С ДАННЫМИ 5
ПРОЦЕСС ЗАГРУЗКИ И ВЫГРУЗКИ ДАННЫХ 6
ТЕКСТ ДОКУМЕНТАЦИИ 7
Class app 7
Constructor Summary 7
Method Summary 7
Methods inherited from class java.lang.Object 7
Constructor Detail 7
Method Detail 7
ВЫВОДЫ 8
ИСХОДНЫЙ КОД 9
ЦЕЛЬ
Знакомство с организацией обмена данными между объектами экранной формы и файлом.
ЗАДАНИЕ
Написать и добавить в проект обработчики кнопок загрузки текста в файл и выгрузки из него. Загрузить данные в экранную форму приложения. Внести изменения в загруженные данные и сохранить их в файле. Просмотреть сохраненный файл и убедиться в правильности работы приложения. Сгенерировать документацию Javadoc.
РАСПЕЧАТКИ СОДЕРЖИМОГО ФАЙЛОВ С ДАННЫМИ
Данные до редактирования (рисунок 1).
Рис. 1. Данные до редактирования
Данные после редактирования (рисунок 2).
Рис. 2. Данные после редактирования
ПРОЦЕСС ЗАГРУЗКИ И ВЫГРУЗКИ ДАННЫХ
Процесс выгрузки данных из файла представлен на рисунке 3.
Рис. 3. Выгрузка данных из файла.
Процесс загрузки данных в файл представлен на рисунке 4.
Рис. 4. Загрузка данных в файл.
ТЕКСТ ДОКУМЕНТАЦИИ
Class app
-
java.lang.Object
-
-
app
-
-
-
public class app
extends java.lang.Object
Класс приложения, визуализирующий экранную форму
-
-
Constructor Summary
Constructors
Constructor
Description
app()
-
Method Summary
All MethodsInstance MethodsConcrete Methods
Modifier and Type
Method
Description
void
read(java.lang.String filename)
Метод чтения данных из файла
void
show()
Метод отображения окна
void
write(java.lang.String filename)
Метод записи данных в файл
-
Methods inherited from class java.lang.Object
-
-
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
app
-
-
public app()
-
Method Detail
-
read
-
public void read(java.lang.String filename)
Метод чтения данных из файла
Parameters:
filename - Имя файла
-
write
public void write(java.lang.String filename)
Метод записи данных в файл
Parameters:
filename - Имя файла
-
show
public void show()
Метод отображения окна
ВЫВОДЫ
В данной лабораторной работе я познакомился с организацией обмена данными между объектами экранной формы и файлом.
ИСХОДНЫЙ КОД
public void read(String filename){ try{ BufferedReader reader = new BufferedReader(new FileReader(filename)); for(int i = 0; i<model.getRowCount();i++) model.removeRow(0); String temp; do{ temp = reader.readLine(); if(temp!=null){ String[] temp2 = temp.split(";"); model.addRow(temp2); } }while(temp!=null); reader.close(); } catch (FileNotFoundException e){ e.printStackTrace(); } catch (IOException e){ e.printStackTrace(); } } public void write(String filename){ try{ BufferedWriter writer = new BufferedWriter(new FileWriter(filename)); for(int i = 0; i<model.getRowCount();i++) { for (int j = 0; j < model.getColumnCount(); j++) { writer.write((String) model.getValueAt(i, j)); if(j!=model.getColumnCount()-1) writer.write(";"); } if(i!=model.getRowCount()-1) writer.write("\r\n"); } writer.close(); } catch (IOException e){ e.printStackTrace(); } }