在命令行模式下与程序互动
1、使用System.in
使用标准输入System.in对象提供的read()方法读取来自命令行窗口的数据,每一次仅能读取一个字节的数据,并且返回该字节的整数值。
?
import java.io.IOException;public class TestSystemIn {/* * 作者:阳光的味道 * 功能:示范System.in方法 * 日期:2010/11/06 * */public static void main(String[] args) {// TODO Auto-generated method stubtry {int c ;while((c = System.in.read())!= -1){System.out.print(c);};} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
?
?
在命令输入任意字符|字符串|数据,然后按下回车,屏幕会输出对应的Ascii码,其中13、 10合起来表示回车操作。
?
在命令行窗口按下Ctrl+C可以强制退出程序。
?
2、使用Scanner
使用Scanner能够读取输出字符串,而不是整数。
import java.util.Scanner;public class TestScanner {/* * 作者:阳光的味道 * 功能:示范Scanner读取输出字符串 * 日期:2010/11/06 * */public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入您的名字:");System.out.printf("Hello,%s!\n",scanner.next());}}
?
Scanner取得输入的依据是空格符,按下空格键、Tab键或Enter键,Scanner就会返回下一个输入。这样有时候并不合适,因为用户可能需要输入一个字符串,中间包括空格符。
?
3、使用BufferedReader取得输入
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class TestBufferedReader {/* * 作者:阳光的味道 * 功能:示范BuffereReader读取输入 * 日期:2010/11/06 * */public static void main(String[] args) {BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));System.out.print("请输入一行文件,可以包括空格符");try {String text = bufferedReader.readLine();System.out.println("您输入的文字是:" + text);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
?
主要是利用了BufferedReader类的对象的readLine()方法。
?
4、System.out和System.err
标准输出与标准出错的一个区别是:标准输出往往是带有缓存的,而标准出错则没有(默认设置,可以修改)。System.out一般用于正常的输出,是程序真正想输出的内容;而System.err一般用于出错输出,是不希望给用户看到的。
标准错误输出在程序执行自动开启,将向指定的字符串输出至显示设备或者其他指定的设备。与标准输出不同,err会立即显示输出串,即使你重新定位,而信息仍然会显示在显示设备上。
public class TestSystemOutAndErr {public static void main(String args[]){System.out.println("使用out输出");System.err.println("使用err输出");}}
?
?
?