在Java语言中进行标准输入输出(键盘显示器)需要通过创建输入输出流对象的方式进行,一般情况下我们可以使用 BufferedReader,Scanner(JDK1.5以上)Console(JDK1.6以上)这三个类和System.in、System.out对象进行(包装设计模式)操作。
A,数据从控制台的读入
一、利用BufferedReader从键盘读取数据:
1,读取字符串:
1
2
3
4
5 public static void readThroughBufferedReader()throws IOException{
BufferedReader bufferedReader = new BufferedReader(newInputStreamReader(System.in));
String readFromConsole = bufferedReader.readLine();//读取一行字符串
in tread = bufferedReader.read();//读取一个字符,返回字符的ASCII;
}
注:在这种情况下要是想进行连续的整数读入(浮点数一样,以‘,’分割各个数据),并赋值给相应的变量,可采用正则表达式对字符串进行分割,当然也可以采用其他的方法,下面以正则表达式为例:
1 | public static void readThroughBufferedReader()throws IOException{ |
二、利用Scanner从键盘读取数据:
1,读取一行数据:
1 | public static void readThroughScanner() { |
注:注意next和nextLine的区别,next以空格、回车符作为结束符,nextLine以回车符作为结束符,数据暂存在缓冲区中(所以,如果用next,数据数据含有空格,那么空格后的数据会作为二次输入结果)。
2,读取integer或float 型数据:
1 | public static void readThroughScanner() { |
三、利用System.in从键盘读取数据:
1
2
3 public static void read ThroughSystemIn()throws IOException {
int c = System.in.read();//读取的是ASCII,可进行强转成字符型
}
B,数据从显示屏的输出
一、使用System.out对象进行数据的输出:
1 | public static void writeThroughSystemOut() { |
二、利用BufferedWriter从屏幕输出数据:
1
2
3
4
5
6
7 public static void writeThroughBufferedWriter()throws IOException {
BufferedWriterbuffered Writer = new BufferedWriter(newOutputStreamWriter(System.out));
bufferedWriter.write("这个是使用BufferedWriter");
bufferedWriter.newLine();
bufferedWriter.write('a');
bufferedWriter.flush();
}
三、利用Console从屏幕输出数据:
1
2
3
4
5
6 public static void writeThroughConsole() throwsIOException {
Console console = System.console();
PrintWriterprint Writer = console.writer();
printWriter.write("mmmm");
printWriter.flush();
}
(注:Console对象在Eclipse等开发环境中可能获取不到,这时,会报异常,在操作系统自带的命令行下进行执行即可。)
提示:
注意System.in和System.out这两个对象的使用,标准输入设备和标准输出设备的对象。
如有疏漏或错误之处,欢迎批评指正,谢谢。