Java -практика использования


Потоки ввода/вывода


Иерархия символьных потоков
Рисунок 18.1. Иерархия символьных потоков...
Классы байтовых потоков
Рисунок 18.2. Классы байтовых потоков Все классы пакета java.io можно разделить на две группы: классы, создающие поток (data sink), и классы, управляющие потоком (data processing). Классы,...
Консольный ввод/вывод
Консольный ввод/вывод Для вывода на консоль мы всегда использовали метод printino класса Pnntstream, никогда не определяя экземпляры этого класса. Мы просто использовали статическое поле out...
Листинг 18 1 Консольный ввод/вывод
Листинг 18.1. Консольный ввод/вывод import j ava.io.*; class PrWr{ public static void main(String[] args){ try{ BufferedReader br = new BufferedReader(new InputstreamReader(System.in, &...
Консольный ввод/вывод
Рисунок 18.3. Консольный  ввод/вывод  ...
Печать в Java
Печать в Java Поскольку принтер — устройство графическое, вывод на печать очень похож на вывод графических объектов на экран. Поэтому в Java средства печати входят в графическую библиотеку A...
Листинг 18 7 Печать средствами AWT
Листинг 18.7. Печать средствами AWT import java.awt.*;  import j ava.awt.event.*; class PrintTest extends Frame{  PrintTest(String s){  super(s); setSize(400, 400); ...
Печать средствами Java 2D
Печать средствами Java 2D Расширенная графическая система Java 2D предлагает новые интерфейсы и классы для печати, собранные в пакет java.awt.print. Эти классы полностью перекрывают все стан...
Листинг 18 8 Простая печать методами Java 2D
Листинг 18.8. Простая печать методами Java 2D import java.awt.*; import java.awt.geom.*; import java.awt.print.*; class Print2Test implements Printable{ public int print(Graphics g, PageF...
Печать файла
Печать файла Печать текстового файла заключается в размещении его строк в графическом контексте методом drawstring (). При этом необходимо проследить за правильным размещением строк в облас...
Листинг 18 9 Печать текстового файла
Листинг 18.9. Печать текстового файла  import java.awt.*;  import java.awt.print.*;  import java.io.* ; public class Print2File{ public static void main(String[] arg...
Печать страниц с разными параметрами
Печать страниц с разными параметрами Печать вида Printable Job не совсем удобна — у всех страниц должны быть одинаковые параметры, нельзя задать число страниц и порядок их печати, в окне Пар...
Листинг 18 10 Печать страниц с разными параметрами
Листинг 18.10. Печать страниц с разными параметрами import j ava.awt.*;  import j ava.awt.print.*; public class Print2Book{ public static void main(String[]  args){ PrinterJob...
Файловый ввод/вывод
Файловый ввод/вывод Поскольку файлы в большинстве современных операционных систем понимаются как последовательность байтов, для файлового ввода/вывода создаются байтовые потоки с помощью кла...
Получение свойств файла
Получение свойств файла В конструкторах классов файлового ввода/вывода, описанных в предыдущем разделе, указывалось имя файла в виде строки. При этом оставалось неизвестным, существует ли фа...
Листинг 18 2 Определение свойств файла и каталога
Листинг 18.2. Определение свойств файла и каталога import java.io.*; class FileTest{ public static void main(String[] args) throws IOException{  PrintWriter pw = new PrintWriter(...
Свойства файла и начало вывода каталога
Рисунок 18.4. Свойства файла  и начало вывода каталога  ...
Буферизованный ввод/вывод
Буферизованный ввод/вывод Операции ввода/вывода по сравнению с операциями в оперативной памяти выполняются очень медленно. Для компенсации в оперативной памяти выделяется некоторая промежуто...
Листинг 18 3 Буферизованный файловый ввод/вывод
Листинг 18.3. Буферизованный файловый ввод/вывод import java.io.*; class DOStoUNIX{ public static void main(String[] args) throws IOException{  if (args.length != 2){ System.err.p...
Поток простых типов Java
Поток простых типов Java Класс DataOutputstream позволяет записать данные простых типов Java в выходной поток айтов методами writeBoolean (boolean b), writeBytefint b), writeShort(int h), w...
Кодировка UTF8
Кодировка UTF-8 Запись потока в байтовой кодировке вызывает трудности с использованием национальных символов, запись потока в Unicode увеличивает длину потока в два раза. Кодировка UTF-8 (Un...
Листинг 18 4 Ввод/вывод данных
Листинг 18.4. Ввод/вывод данных import j ava.io.*; class DataPrWr{ public static void main(String[] args) throws IOException{ DataOutputstream dos = new DataOutputstream ( new FileOutp...
Ввод и вывод данных
Рисунок 18.5. Ввод и вывод данных  ...
Прямой доступ к файлу
Прямой доступ к файлу Если необходимо интенсивно работать с файлом, записывая в него данные разных типов Java, изменяя их, отыскивая и читая нужную информацию, то лучше всего воспользоваться...
Каналы обмена информацией
Каналы обмена информацией В предыдущей главе мы видели, каких трудов стоит организовать правильный обмен информацией между подпроцессами. В пакете java.io есть четыре класса pipedxxx, облегч...
Листинг 18 5 Канал обмена информацией
Листинг 18.5. Канал обмена информацией import java.io.*; class Target extends Thread{ private PipedReader pr;  Target(PipedWriter pw){  try{ pr = new PipedReader(pw); ...
Данные передаваемые между подпроцессами
Рисунок 18.6. Данные, передаваемые между  подпроцессами  ...
Сериализация объектов
Сериализация объектов Методы классов ObjectlnputStream и ObjectOutputStream позволяют прочитать из входного байтового потока или записать в выходной байтовый поток данные сложных типов — объе...
Листинг 18 6 Сериализация объекта
Листинг 18.6. Сериализация объекта import java.io.*;  import java.util.*; class SerDatef public static void main(String[] args) throws Exception{ GregorianCaiendar d - new Gregorian...
Сериализация объекта
Рисунок 18.7. Сериализация  объекта Если не нужно сериализовать какое-то поле, то достаточно пометить его служебным словом transient, например: transient MyClass me = new MyClass("...








Начало    


Книжный магазин