- •К экзамену
- •1 Семестр
- •1.Общая характеристика Java
- •2. Жизненный цикл программы Java
- •3. Лексические основы Java
- •4. Операции в Java
- •5. Примитивные типы данных
- •6. Булевские переменные и булевская алгебра
- •7. Условный оператор
- •9. Оператор Break
- •10. Оператор Switch
- •11. Цикл While
- •12. Цикл Do
- •13. Цикл For
- •14. Одномерные массивы
- •15. Многомерные массивы
- •16. Введение в строки
- •Преимущества:
- •Недостатки:
- •Преимущества:
- •Недостатки:
- •17. Основные конструкторы класса String
- •Работа со строками (класс String)
- •21. Класс StringBuffer
- •22. Методы StringBuffer
- •23. Класс StringTokenizer и его методы
- •24. Общие понятия об ооп
- •28. Определение классов и методов
- •29. Модификаторы доступа
- •30. Описание методов
- •38. Статические переменные
- •39. Перегрузка метода
- •40. Рекурсивные методы
- •41. Конструкторы
- •42. Инициализаторы
- •43. Реализация наследования в Java
- •44. Производные методы
- •Замечание
- •Типы исключений
- •2. Блоки try-catch-throw
- •Несколько разделов catch
- •Вложенные операторы try
- •Throw ОбъектТипаThrowable;
- •3. Иерархия классов исключительных ситуаций
- •4. Базовые классы исключений и их методы
- •5. Проверяемые и непроверяемые исключения
- •6. Создание собственных классов исключений
- •7. Типы коллекций в Java
- •8. Класс ArrayList, конструкторы, основные методы
- •9. Класс LinkedList и его методы
- •10. Общая характеристика потоков Java
- •Создание потоков
- •Запуск и остановка
- •Приостановка и возобновление
- •11. Иерархия типов в java.Io
- •12. Класс InputStream и его методы
- •19. Класс File
- •Класс DataInputStream (производный от InputStream)
- •Класс DataOutputStream (производный от OutputStream)
- •Классы BufferedInputStream и BufferedOutputStream
- •Класс RandomAccessFile
- •Классы InputStreamReader и OutputStreamWriter (производные от Reader и Writer)
- •Классы FileReader и FileWriter
- •Зачем сериализация нужна?
- •Как сериализовать объект?
- •Формат сериализованного объекта
- •Алгоритм сериализации Java
- •21. Форматирование данных при выводе Методы printf и format
- •22. Класс Scanner, конструкторы, основные методы
- •23. Архитектура mvc (Model/View/Controller) Архитектура Model-View-Controller (mvc)
- •Еще Java фреймвоки
- •24. Gui общее понятия, принципы реализации в Java
- •25. Событийная модель Java
Класс DataInputStream (производный от InputStream)
простейший класс для потокового (последовательного) чтения данных стандартных типов из файла. Объект этого класса создается на основе объектаInputStream, т.е., например,
DataInputStream myfile = new DataInputStream( new FileInputStream("data.txt"));
Для всех стандартных типов данных определены методы:
readInt() readFloat() readChar() и т.п. |
читает значение указанного типа |
Для чтения не-латинских букв можно порекомендовать функцию readUTF.
Класс DataOutputStream (производный от OutputStream)
простейший класс для потоковой (последовательной) записи данных стандартных типов в файл. Объект этого класса создается на основе объекта OutputStream, т.е., например,
DataOutputStream myfile = new DataOutputStream( new FileOutputStream("data.txt"));
Для всех стандартных типов данных определены методы:
writeInt(int число) writeFloat(float число) writeChar(char символ) writeChars(String строка) и т.п. |
печатает значение указанного типа |
Для печати не-латинских букв можно порекомендовать функцию writeUTF.
Классы BufferedInputStream и BufferedOutputStream
используют буферизованный ввод-вывод, поэтому работают более эффективно, чем, например, FileInputStream и FileOutputStream.
Класс RandomAccessFile
класс для работы с файлами произвольного доступа, используется как для чтения, так и для записи. Объект этого класса cоздается на основе объекта File или по имени файла в файловой системе. Конструкторы:
RandomAccessFile( String имя_файла, String режим ) RandomAccessFile( File файл, String режим ) |
параметр "режим" может принимать значения: "r"- только для чтения и"rw"- для чтения и записи |
Для всех стандартных типов данных определены методы:
readInt() readFloat() readChar() и т.п. |
читает значение указанного типа |
writeInt(int число) writeFloat(float число) writeChar(char символ) writeChars(String строка) и т.п. |
печатает значение указанного типа |
Для смещения внутреннего указателя в любое место файла используется метод
seek(long смещение) |
смещение задается в байтах от начала файла |
Следующие 6 классов используются для работы с текстовыми файлами.
Классы InputStreamReader и OutputStreamWriter (производные от Reader и Writer)
простейшие классы для чтения/записи из/в текстовый файл. Объекты этих классов создаются на основе объектов InputStream и OutputStream. Например,
InputStreamReader myfile =
new InputStreamReader( new FileInputStream("data.txt"));
OutputStreamWriter myfile =
new OutputStreamWriter( new FileOutputStream("data.txt"));
Оба класса имеют функцию getEncoding для получения текущей кодовой страницы (cp1251 - кодовая страница для русского Windows), а также конструкторы, которые позволяют задать нужную кодовую страницу в качестве второго параметра. Имеют только методы read и write для чтения/записи символа (строки символов).
Классы FileReader и FileWriter
(производные от InputStreamWriter и OutputStreamWriter)
отличаются от InputStreamWriter и OutputStreamWriter тем, что объекты этих классов cоздаются на основе объекта File или по имени файла в файловой системе, т.е.
FileReader myfile = new FileReader("data.txt");
FileWriter myfile = new FileWriter("data.txt");
а также не имеют конструктора с заданием кодовой страницы.
Классы BufferedReader и BufferedWriter
(производные от Reader и Writer)
используются для буферизованного ввода-вывода данных, поэтому их использование более эффективно, чем, например, FileReader и FileWriter. Создаются на основе объектов Reader и Writer, например,
BufferedReader myfile = new BufferedReader ( new FileReader("data.txt"));
BufferedWriter myfile = new BufferedWriter ( new FileWriter("data.txt"));
В классе BufferedReader определен метод readLine(), который позволяет читать строку символов.
20. Сериализация и десериализация объектов
Сериализация это процесс сохранения состояния объекта в последовательность байт; десериализация это процесс восстановления объекта, из этих байт. Java Serialization API предоставляет стандартный механизм для создания сериализуемых объектов. В этой статье вы увидите как сериализовать объект, и почему сериализация иногда необходима. Вы узнаете об алгоритме сериализации используемом в Java и увидите пример, который иллюстрирует сериализованый формат объекта. В конце у вас должно сложиться чёткое представление о том, как работает алгоритм сериализации, а так же каким образом представлены части объекта в сериализованном виде.