JAVA. ЗАДАЧА 20.10.05. СЕРИАЛИЗАЦИЯ.

package com.javarush.test.level20.lesson10.home05; import java.io.PrintStream; import java.io.Serializable; import java.util.logging.Logger; /* Сериализуйте Person Сериализуйте класс Person стандартным способом. При необходимости поставьте полям модификатор transient. */ public class Solution { public static class Person implements Serializable { String firstName; String lastName; transient String fullName; transient final String greetingString; String country; Sex sex; transient PrintStream outputStream; transient Logger logger; [...]

By | Январь 18th, 2017|Categories: Уровень 20|Tags: , |0 Comments

JAVA. ЗАДАЧА 20.10.01. СЕРИАЛИЗАЦИЯ.

package com.javarush.test.level20.lesson10.home01; import java.io.Serializable; /* Минимум изменений Используя минимум изменений кода сделайте так, чтобы сериализация класса C стала возможной. */ public class Solution { public class A implements Serializable { String name = "A"; public A(String name) { this.name += name; } @Override public String toString() { return name; } } public class B extends [...]

By | Январь 18th, 2017|Categories: Уровень 20|Tags: |0 Comments

JAVA. ЗАДАЧА 20.07.04. SERIALIZABLE. TRANSIENT. ASSERT.

package com.javarush.test.level20.lesson07.task04; import java.io.*; import java.text.SimpleDateFormat; import java.util.Date; /* Serializable Solution Сериализуйте класс Solution. Подумайте, какие поля не нужно сериализовать, пометить ненужные поля — transient. Объект всегда должен содержать актуальные итоговые данные. Метод main не участвует в тестировании. Написать код проверки самостоятельно в методе main: 1) создать файл, открыть поток на чтение (input stream) и [...]

By | Январь 15th, 2017|Categories: Уровень 20|Tags: , , |0 Comments

JAVA. ЗАДАЧА 20.07.03. EXTERNALIZABLE.

package com.javarush.test.level20.lesson07.task03; import java.io.*; import java.util.ArrayList; import java.util.List; /* Externalizable Person Класс Person должен сериализоваться с помощью интерфейса Externalizable. Подумайте, какие поля не нужно сериализовать. Исправьте ошибку сериализации. Сигнатуры методов менять нельзя. */ public class Solution { public static void main(String[] args) throws IOException, ClassNotFoundException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("20-07-03.txt")); Person person = [...]

By | Январь 14th, 2017|Categories: Уровень 20|Tags: , |0 Comments

JAVA. ЗАДАЧА 20.07.02. EXTERNALIZABLE.

МЕТОД MAIN НАПИСАЛ ДЛЯ ТЕСТА. package com.javarush.test.level20.lesson07.task02; import java.io.*; /* OutputToConsole Класс OutputToConsole должен сериализоваться с помощью интерфейса Externalizable. Подумайте, какие поля не нужно сериализовать. Исправьте ошибку. Сигнатуры методов менять нельзя. */ public class Solution { public static void main(String[] args) throws IOException, ClassNotFoundException { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("temp.ser")); OutputToConsole ootc = new [...]

By | Январь 13th, 2017|Categories: Уровень 20|Tags: , |0 Comments

JAVA. КОНСПЕКТ. СЕРИАЛИЗАЦИЯ.

Сериализация это процесс сохранения состояния объекта в последовательность байт; десериализацияэто процесс восстановления объекта, из этих байт. Java Serialization API предоставляет стандартный механизм для создания сериализуемых объектов. В этой статье вы увидите как сериализовать объект, и почему сериализация иногда необходима. Вы узнаете об алгоритме сериализации используемом в Java и увидите пример, который иллюстрирует сериализованый формат объекта. В конце [...]

By | Январь 12th, 2017|Categories: Конспекты|Tags: |0 Comments

JAVA. ЗАДАЧА 20.07.01. EXTERNALIZABLE.

package com.javarush.test.level20.lesson07.task01; import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; /* Externalizable для апартаментов Реализуйте интерфейс Externalizable для класса Apartment Подумайте, какие поля не нужно сериализовать. */ public class Solution { public static class Apartment implements Externalizable { private String address; private int year; /** * Mandatory public no-arg constructor. */ public Apartment() { super(); [...]

By | Январь 12th, 2017|Categories: Уровень 20|Tags: |0 Comments

JAVA. ЗАДАЧА 20.10.01+. ЧИСЛА АРМСТРОНГА.

ВАРИАНТ, КОТОРЫЙ Я СПИСАЛ: package com.javarush.test.level20.lesson10.bonus01; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /* Алгоритмы-числа Число S состоит из M чисел, например, S=370 и M(количество цифр)=3 Реализовать логику метода getNumbers, который должен среди натуральных чисел меньше N (long) находить все числа, удовлетворяющие следующему критерию: число S равно сумме его цифр, возведенных в M степень getNumbers должен [...]

By | Январь 12th, 2017|Categories: Уровень 20|Tags: |0 Comments

JAVA. ЛЕКЦИЯ. 19.07. READER — ОБЁРТКА SYSTEM.OUT.

public static void main(String[] args) throws Exception { //запоминаем настоящий PrintStream в специальную переменную PrintStream consoleStream = System.out; //Создаем динамический массив ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); //создаем адаптер к классу PrintStream PrintStream stream = new PrintStream(outputStream); //Устанавливаем его как текущий System.out System.setOut(stream); //Вызываем функцию, которая ничего не знает о наших манипуляциях printSomething(); //Преобразовываем записанные в [...]

By | Январь 8th, 2017|Categories: Лекции, Уровень 19|Tags: , |0 Comments

JAVA. ЛЕКЦИЯ. 19.04. FILEWRITER/FILEREADER.

public static void main(String[] args) throws Exception { FileReader reader = new FileReader("c:/data.txt"); FileWriter writer = new FileWriter("c:/result.txt"); while (reader.ready()) //пока есть непрочитанные байты в потоке ввода { int data = reader.read(); //читаем один символ (char будет расширен до int) writer.write(data); //пишем один символ (int будет обрезан/сужен до char) } //закрываем потоки после использования reader.close(); [...]

By | Январь 8th, 2017|Categories: Лекции, Уровень 19|Tags: , |0 Comments