Добавил:
github.com Кофедра ВТ-помойка Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
44
Добавлен:
14.11.2018
Размер:
190.81 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра вычислительной техники

отчет

по лабораторной работе №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(); } }

Соседние файлы в папке Лабы Павловский 2018