Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.40 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3.  
  4. class Book implements Serializable { // класс книги должен реализовывать интерфейс Serializable чтоб его можно было записать в файл
  5.     private String author;
  6.     private String name;
  7.    
  8.     public Book(String _author, String _name) {
  9.         // конструктор книги от автора и названия
  10.         author = _author;
  11.         name = _name;
  12.     }
  13.    
  14.     public String getAuthor() {
  15.         return author;
  16.     }
  17.    
  18.     public String getName() {
  19.         return name;
  20.     }
  21.    
  22. }
  23.  
  24. public class App {
  25.    
  26.     public static void main(String[] args) throws IOException, ClassNotFoundException {
  27.        
  28.         final int NUMBER_OF_BOOKS = 4; // количество книг
  29.         Book[] books = new Book[NUMBER_OF_BOOKS]; // массив, где будут храниться объекты книг
  30.        
  31.         // добавляем 4 книги:
  32.        
  33.         books[0] = new Book("William Shakespeare", "Romeo and Juliet");
  34.         books[1] = new Book("Лев Толстой", "Война и Мир");
  35.         books[2] = new Book("Александр Дюма", "Три Мушкетера");
  36.         books[3] = new Book("Федор Достоевский", "Преступление и наказание");
  37.        
  38.         // записываем объекты книг в файл books.out
  39.        
  40.         ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("books.out")); // создаем поток вывода объектов
  41.        
  42.         for (Book book: books) // перебираем книги в массиве циклом for-each
  43.             os.writeObject(book); // записываем книгу в файл
  44.        
  45.         os.close(); // закрываем поток вывода
  46.        
  47.         /////////////////////////////////////////////////////////////////////////////////////////////////////////////
  48.        
  49.         // читаем и выводим книги из файла books.out
  50.        
  51.         ObjectInputStream is = new ObjectInputStream(new FileInputStream("books.out")); // создаем поток ввода объектов
  52.        
  53.         for (int i = 0; i < NUMBER_OF_BOOKS; i++) { // делаем столько шагов, сколько книг мы записали в файл
  54.            
  55.             Book book = (Book)is.readObject(); // читаем книгу из файла
  56.            
  57.             System.out.println(book.getAuthor() + " - " + book.getName()); // выводи автора и название книги
  58.            
  59.         }
  60.        
  61.     }
  62.    
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement