Группы символьных потоков CharArray и String
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

n CharArrayReader и CharArrayWriter аналогичны ByteArrayInputStream и ByteArrayOutputStream, но оперируют с массивом символов

n StringReader и StringWriter имеют аналогичную функциональность, позволяют считывать символы из строки и записывать данные в строковый буфер

 

Группа потоков Print

n Обертки PrintStream и PrintWriter содержат методы, упрощающие задачу вывода данных простых типов в текстовом виде

n Методы print () и println () не выбрасывают исключений

n System . out и System . err – единственные потоки PrintStream

 

Группа потоков File

FileWriter

n Позволяют трактовать файл как поток, предназначенный для ввода и вывода данных

n Связаны с исключениями FileNotFoundException и SecurityException

n Конструкторы могут получать параметры:

l Строку String, задающую имя файла

l Объект класса File

l Объект FileDescriptor (возвращается методом getFD () байтовых потоков)

 

Вопрос 49 Класс File. Работа с файловой системой. 23 Лекция Механизмы ввода-вывода информации. Понятие сериализации.

 

Класс File

n Инкапсулирует платформенно-независимые методы работы с файлами и директориями:

l создание

l проверка атрибутов

l удаление

l переименование

n Позволяет создавать временные файлы, удаляемые при завершении работы программы

n API классы пока не смотрел

 

 

Вопрос 50 Форматированный ввод/вывод. 29-39 Лекция Механизмы ввода-вывода информации. Понятие сериализации.

Форматированные  ввод и вывод ( Java 5)

n java . util . Formatter

Обеспечивает преобразования формата, позволяющие выводить числа, строки, время и даты в практически любом нужном вам формате

n java . util . Scanner

Позволяет использовать форматированный ввод и преобразовывать значения к нужным типам

 

Java.util.Formatter Конструкторы

n Имеет множество конструкторов, позволяющих задать следующие параметры (либо, если они не заданы, использовать значения по умолчанию)

n Объект вывода

l Appendable a

l File file

l String fileName

l OutputStream os

l PrintStream ps

l по умолчанию – без автоматического вывода

n Кодовая таблица

l String charSet

l по умолчанию – текущая таблица

n Параметры локализации

l Locale locale

l по умолчанию – текущие параметры

 

Java . util . Formatter Важные методы

n Formatter format ( String fmtString , Object ... args )
Форматирует указанные аргументы в соответствии со строкой форматирования

n Formatter format(Locale loc, String fmtString, Object ... args)

Форматирует указанные аргументы в соответствии со строкой форматирования и указанной локализацией

 


Java . util . Formatter Важные методы

n IOException ioException () Возвращает объект исключения, генерируемый объектом-приемником, иначе null

n Appendable out ()    Возвращает ссылку на объект-приемник выходных данных

n Locale locale () Возвращает ссылку на объект локализации

 

Java . util . Formatter Важные методы

n String toString ()     Возвращает объект типа String, содержащий отформатированный вывод

n void flush ()              Переносит информацию из буфера форматирования

n void close ()     Закрывает объект форматировщика, освобождает ресурсы

 

Строка форматирования

n Строка форматирования состоит из:

l простых символов
Просто копируются в вывод

l спецификаторов формата
Определяют способ отображения аргументов

n Спецификатор формата:

l знак процента (%)

l преобразующий спецификатор формата

 

Formatter fmt = new Formatter();

fmt.format("Formatting %s is easy! % d % f ",

      " with Java ", 15, 12.3);

 



Преобразующие спецификаторы формата

 

Возможности форматирования

n Порядковый номер аргумента

Позволяет использовать не текущий аргумент, а заданный

fmt.format("%3$d %2$d %1$d", 1, 2, 3); // 3 2 1

n Относительный номер

Позволяет несколько раз вывести одно и то же значение без явной нумерации

Calendar c = Calendar.getInstance();

fmt.format("Today is day %te of %<tB, %<tY", c);

// Today is day 4 of December, 2006

 

Возможности форматирования

n Управление регистром вывода

fmt.format("Some %s", "String"); //Some String

fmt.format("Some %S", "String"); //Some STRING

n Сложное форматирование времени и даты

fmt.format("Now is %tH:%<tS of %<td.%<tm.%<ty \n", c);

fmt.format("Now is %tl:%<tS%<tp of %<te %<tB %<tY \n", c);

// Now is 20:03 of 04.10.09

// Now is 8:03pm of 4 October 2009

 

n Задание минимальной ширины поля

fmt.format("%3s %3s %3s %3s ", "1", "22", "333", "4444");

// 1 22 333 4444

 

Возможности форматирования

n Задание точности вывода для вещественных значений

fmt.format("%10.2f %10.8f", Math.PI, Math.PI);

//  3.14 3.14159265

n Выравнивание вывода

fmt.format("%-10.2f|%10.2f", Math.PI, Math.PI);

// 3.14 | 3.14

n Разделение групп цифр и т.д.

fmt.format("%,d", Integer.MAX_VALUE);

// 2 ,147,483,647

 

Метод printf()

n Использует автоматически создаваемый экземпляр класса Formatter

n Объявлен в классах:

l  java.io.PrintWriter

l  java.io.PrintStream

n Имеет такие же параметры, что и метод Formatter . format ()

 

Дата: 2019-07-30, просмотров: 188.