Консоль

Взаимодействие с консолью с помощью потока System.in представляет собой один из простейших способов передачи информации в приложение. В следующем примере рассматривается ввод информации в виде символа из потока ввода, связанного с консолью, и последующего вывода на консоль символа и его числового кода.

// пример # 8 : чтение символа из потока System.in : DemoSystemIn.java

package chapt01;

public class ReadCharRunner {

public static void main(String[] args) {

int x;

try {

x = System.in.read();

char c = (char)x;

System.out.println("Код символа: " + c + " =" + x);

} catch (java.io.IOException e) {

e.printStackTrace();

}

}

}

Обработка исключительной ситуации IOException, которая возникает в операциях ввода/вывода и в любых других взаимодействиях с внешними устройствами, осуществляется в методе main() с помощью реализации блока
trycatch.

Ввод блока информации осуществляется с помощью чтения строки из консоли. Далее строка может быть использована в исходном виде или преобразована к требуемому виду.

// пример # 9 : чтение строки из консоли : ReadCharRunner.java

package chapt01;

import java.io.*;//подключение пакета классов

public class ReadCharRunner {

public static void main(String[] args) {

/* байтовый поток ввода System.in передается конструктору потока

чтения при создании объекта класса InputStreamReader */

InputStreamReader is =

new InputStreamReader(System.in);

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

обращения к источнику данных при выполнении операции чтения */

BufferedReader bis = new BufferedReader(is);

try {

System.out.println(

"Введите Ваше имя и нажмите <Enter>:");

/* чтение строки из буфера; метод readLine() требует обработки

возможной ошибки при вводе из консоли в блоке try */

String name = bis.readLine();

System.out.println("Привет, " + name);

} catch (IOException e) {

System.err.print("ошибка ввода " + e);

}

}

}

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

Введите Ваше имя и нажмите <Enter>:

Остап

Привет, Остап

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

Кроме того, в шестой версии языка существует возможность поддержать национальный шрифт с помощью метода printf() определенного для класса Console.

/* пример # 10 : использование метода printf() класса Console: PrintDeutsch.java */

public class PrintDeutsch {

public static void main(String[] args) {

String str = "über";

System.out.println(str);

Console con = System.console();

con.printf("%s", str);

}

}

В результате будет выведено:

ber

über

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100