
- •Глава 2
- •Глава 2. Обзор языка Java 31_
- •Глава 2. Обзор языка Java
- •Глава 2. Обзор языка Java 37
- •Глава 2. Обзор языка Java 39
- •Глава 2. Обзор языка Java 41
- •Часть I. Язык Java
- •Глава 2. Обзор языка Java 43_
- •Глава 2. Обзор языка Java 45_
- •Глава 2. Обзор языка Java 47
- •Глава 2. Обзор языка Java 49_
- •Часть I. Язык Java
- •Глава 2. Обзор языка Java 57
- •Глава 3
- •Глава 3. Типы данных, переменные и массивы 53
- •Глава 3. Типы данных, переменные и массивы _ 55
- •Глава 3. Типы данных, переменные и массивы
- •Глава 3. Типы данных, переменные и массивы 59_
- •Глава 3. Типы данных, переменные и массивы 61_
- •Глава 3. Типы данных, переменные и массивы
- •Глава 3. Типы данных, переменные и массивы 65_
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы 67_
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы 69_
- •Глава 3. Типы данных, переменные и массивы 71_
- •Глава 3. Типы данных, переменные и массивы 73_
- •Глава 3. Типы данных, переменные и массивы
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы _ 77_ Эта программа генерирует следующий вывод:
- •Глава 3. Типы данных, переменные и массивы 79
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы 81_
- •Глава 4
- •Глава 4. Операции 83
- •84 Часть I. Язык Java
- •Глава 4. Операции 85_
- •Глава 4. Операции 87_
- •88_ Часть I. Язык Java
- •Глава 4. Операции 89
- •Глава 4. Операции 91_
- •Глава 4. Операции 93_
- •Глава 4. Операции 95_
- •Глава 4. Операции 97_
- •Глава 4. Операции 99
- •Глава 4. Операции 101
- •Глава 4. Операции 103
- •104 Часть I, Язык Java
- •Глава 4. Операции 105
- •Глава 5
- •Глава 5, Управляющие операторы 107
- •Глава 5. Управляющие операторы 109
- •110 Часть I. Язык Java
- •Глава 5, Управляющие операторы 111
- •Глава 5. Управляющие операторы 113
- •Глава 5. Управляющие операторы
- •Глава 5. Управляющие операторы 117
- •118 Часть I. Язык Java
- •Глава 5. Управляющие операторы 119
- •Глава 5. Управляющие операторы 121
- •122 Часть I. Язык Java
- •Глава 5. Управляющие операторы 123
- •Глава 5. Управляющие операторы 125
- •Глава 5. Управляющие операторы 127
- •Глава 5. Управляющие операторы 129
- •Глава 5. Управляющие операторы
- •Глава 6
- •134 Часть I. Язык Java
- •Глава 6. Введение в классы 135
- •136 Часть I. Язык Java
- •Глава 6. Введение в классы _ 137
- •Глава 6. Введение в классы 139
- •Глава 6. Введение в классы
- •Глава 6. Введение в классы 143
- •Глава 6. Введение в классы 145
- •Глава 6. Введение в классы 147
- •Глава 6. Введение в классы 149
- •Глава 6. Введение в классы 151
- •154 Часть I. Язык Java
- •Глава 6. Введение в классы 155
- •Глава 6. Введение в классы 157
- •Глава 7
- •Глава 7. Методы и классы 159
- •Глава 7. Методы и классы . 161
- •Глава 7. Методы и классы • 163
- •164 Часть I. Язык Java
- •Глава 7. Методы и классы 165
- •Глава 7. Методы и классы 167
- •Глава 7. Методы и классы 169
- •Глава 7, Методы и классы 171-
- •Глава 7. Методы и классы 173
- •Глава 7. Методы и классы 775
- •Глава 7. Методы и классы 177
- •Глава 7. Методы и классы ' 179
- •Глава 7. Методы и классы 1_81_
- •Глава 7. Методы и классы 1_83
- •184 '• Часть I. Язык Java
- •Глава 7. Методы и классы . 185
- •Глава 7. Методы и классы 187
- •Глава 8
- •Глава 8. Наследование 191
- •Глава 8. Наследование 193
- •Глава 8, Наследование 195
- •Глава 8. Наследование 197
- •198 Часть I. Язык Java
- •Глава 8, Наследование 199
- •Глава 8. Наследование 201
- •202 Часть I. Язык Java
- •Глава 8. Наследование 203
- •Глава 8. Наследование 205
- •Глава 8. Наследование 207
- •Глава 8. Наследование 209
- •Глава 8. Наследование 211
- •Глава 8. Наследование 213
- •Глава 8. Наследование 215
- •Глава 8. Наследование 217
- •Глава 12
- •Глава 12. Ввод/вывод, апплеты и другие темы 303_
- •Глава 12. Ввод/вывод, апплеты и другие темы . 305
- •Глава 12. Ввод/вывод, алплеты и другие темы 307
- •Глава 12. Ввод/вывод, апплеты и другие темы 309
- •Глава 12. Ввод/вывод, апплеты и другие темы 311
- •Глава 12. Ввод/вывод, апплаты и другие темы 313
- •314 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплеты и другие темы 315
- •Глава 12. Ввод/вывод, апплеты и другие темы 317
- •Глава 12. Ввод/вывод, апплеты и другие темы 319
- •320 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплеты и другие темы 321
- •Глава 12. Ввод/вывод, апплеты и другие темы 323
- •324 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплеты и другие темы 325
- •326 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплегы и другие темы 327
Глава 12. Ввод/вывод, апплеты и другие темы 311
потока в буфер вывода (на диск) каждый раз, когда выводится символ newline (\n). Если fiushOnNewiine — true, поток сбрасывается автоматически, если — false, то не автоматически,
printwriter поддерживает методы print о и println о для всех типов, включая object. Поэтому эти методы можно применять так же, как они использовались с объектом system, out. Если аргумент не является простым типом, то методы класса Printwriter вызывают объектный метод tostringo и затем печатают результат.
Чтобы записывать на консоль, используя класс printwriter, создайте объект system, out для выходного потока, и сбрасывайте поток после каждого символа newline. Например, следующая строка кода создает объект типа printwriter, который соединен с консольным выводом:
Printwriter pw = new Printwriter(System.out, true);
Очередное приложение иллюстрирует использование Printwriter для управления консольным выводом:
// Демонстрирует Printwriter. import java.io.*;
public class PrintWriterDemo {
public static void main(String args[]) {
Printwriter pw = new Printwriter(System.out, true); pw.println("Это строка: ") ; int i = -7; pw.println(i); double d = 4.5e-7;
pw.printIn(d) ; x
}
Вывод этой программы:
Это строка:
_'-?
4.5Е-7
Помните, что во время изучения Java или отладки программы нет ничего не правильного в использовании system, out для записи простого текстового вывода на консоль. Однако с использованием Printwriter ваши реальные приложения будет проще интернационализировать. Поскольку никакого преимущества от использования Printwriter в демонстрационных программах этой книги не проявляется, для записи на консоль мы продолжим использовать объект System, out.
312 Часть I. Язык Java
Чтение и запись файлов
Java обеспечивает ряд классов и методов, которые позволяют читать и записывать файлы. Для Java все файлы имеют байтовую структуру, a Java обеспечивает методы для чтения и записи байтов в файл. Кроме того, Java позволяет упаковывать байтовый файловый поток в символьно-ориентированный объект. Эта методика описана в Части П. В данной главе рассматриваются основы файлового ввода/вывода.
Для создания байтовых потоков, связанных с файлами, чаше всего используются два ПОТОЧНЫХ класса — FilelnputStream И FileOutputStream. Для ОТ-
крытия файла вы просто создаете объект одного из этих классов, указывая имя файла как аргумент конструктора. Хотя оба класса поддерживают несколько переопределенных конструкторов, мы будем использовать только следующее формы:
FilelnputStream(String fileNatoe) throws FileNotFoundException FileOutputStream(String fileName) throws FileNotFoundException
где filename определяет имя файла, который вы хотите открыть. Когда вы создаете входной поток при отсутствующем файле, выбрасывается исключение FileNotFoundException. ДЛЯ ВЫХОДНЫХ ПОТОКОВ, ССЛИ файл НС МОЖ6Т
быть создан, выбрасывается такое же исключение (FileNotFoundException). Когда выходной файл открывается, любой файл, существовавший ранее с тем же самым именем, разрушается.
В ранних версиях Java FileOutputstreamO выбрасывал исключение lOException, когда выходной файл не мог быть создан. В Java 2 это было из менено.
После завершения работы с файлом, его нужно закрыть, вызвав метод
close (). Он определен как В FilelnputStream, так И В FileOutputStream
в следующей форме:
void close() throws lOException
Для чтения файла можно использовать версию метода read <), который определен в FilelnputStream. Мы будем использовать такую версию:
int read() throws lOException
При каждом вызове он (метод) читает один байт из файла и возвращает его в форме целочисленного значения. Когда read о встречает символ конца файла (eof), то возвращает —1. Метод read о может выбрасывать исключе ние lOExcepliibn1. ; ;:;-
Следующая программа использует read о для ввода и отображения содержимого текстового файла, имя которого указывается как параметр команд-