Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
В первом варианте метод read () читает один символ в уникоде. По достижении конца потока этот метод возвращает значение -1. Во втором варианте метод read () читает данные из потока ввода и помещает их в массив. Чтение оканчивается по достижении конца потока, по заполнении массива data символами или при возникновении ошибки. В этом случае метод возвращает число прочитанных символов, а если достигнут конец потока, — значение -1. В третьем варианте метод read () помещает прочитанные символы в массив data, начиная с элемента, определяемого индексом start. Максимальное число символов, которые могут быть записаны в массив, определяется параметром max. В данном случае метод возвращает число прочитанных символов или значение -1, если достигнут конец потока. При возникновении ошибки в каждом из перечисленных выше вариантов метода read () генерируется исключение IOException. При чтении данных из потока ввода System, in конец потока устанавливается нажатием клавиши < Enter>.
Ниже приведен пример программы, демонстрирующий применение метода read() для чтения символов с консоли. Символы читаются до тех пор, пока пользователь не введет точку. Следует иметь в виду, что исключения, которые могут быть сгенерированы при выполнении данной программы, обрабатываются за пределами метода main (). Как пояснялось выше, подобный подход характерен для обработки ошибок при чтении данных с консоли. По желанию вы можете употребить другой механизм обработки ошибок.
// Применение класса BufferedReader для чтения символов с консоли,
import java.io.*;
class ReadChars {
public static void main(String args[])
throws IOException
{
char c;
// Создание объекта типа BufferedReader, связанного
// с потоком стандартного ввода System.in.
BufferedReader br = new
BufferedReader(new
InputStreamReader'(System. in) ) ;
System.out.println("Enter characters, period to quit.");
// читать символы
do {
с = (char) br.read();
System.out.println(c) ;
} while(c != '.');
}
}
Результат выполнения данной программы выглядит следующим образом:
Enter characters, period to quit.
One Two.
O
n
e
T
w
о
Чтение символьных строк
Для ввода символьной строки с клавиатуры следует воспользоваться методом readLine () из класса Buf feredReader. Ниже приведена общая форма объявления этого метода.
String readLine() throws IOException
Этот метод возвращает объект типа String, содержащий прочитанные символы. При попытке прочитать символьную строку по окончании потока метод возвращает пустое знчение null.
Ниже приведен пример программы, демонстрирующий применение класса BufferedReader и метода readLine (). В этой программе текстовые строки читаются и отображаются до тех пор, пока не будет введено слово "stop".
// Чтение символьных строк с консоли средствами класса BufferedReader.
import java.io.*;
class ReadLines {
public static void main(String args[])
throws IOException
{
// создать объект типа BufferedReader, связанный с потоком System.in
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String str;
System.out.println("Enter lines of text.");
System.out.println("Enter 'stop' to quit.");
do {
// использовать метод readLine() из класса BufferedReader
// для чтения текстовой строки
str = br.readLine();
System.out.println(str) ;
} while(!str.equals("stop")) ;
}
}
Консольный вывод в символьные потоки