JavaSE_83_IO操作

多数应用程序在运行过程中要与用户进行交互,通常的交互方式是:用户使用键盘作为标准输入设备向程序中输入数据,程序利用计算机显示器屏幕做为标准输出设备显示输出数据。这种程序被称为控制台应用程序,这种输入/输出被称为标准I/O或控制台I/O(Input/Output)。


java.lang.System类的三个类成员提供了有关的I/O操作功能:


System.out提供向“标准输出”写出数据的功能,out是System中的一个static final的PrintStream类型变量,它会被初始化关联到运行Java程序的终端窗口。可以通过System类的setOut()方法来改变默认的标准输出流;
System.in提供从“标准输入”读入数据的功能,in是System类中的一个static final的InputStream类型变量,它会被初始化关联到用户键盘。可以通过System类的setIn()方法来改变默认的标准输入流;
System.err提供向“标准错误输出”写出数据的功能。通常情况下,System.err使用方法与System.out相同,用于向标准的错误设备输出错误信息,但很少使用。同样可以使用System类的setErr()方法来改变默认的标准错误输出流。


在这里,用到了输入/输出流的概念,关于流的编程,将在后续中详细讲解。
我们来看一个接受键盘输入的Java应用程序。

import java.io.*;

public class KeyboardInput {
public static void main(String args[]) {
String s;
// 创建一个BufferedReader对象从键盘逐行读入数据
InputStreamReader ir = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(ir);

System.out.println("Unix: Type ctrl-d or ctrl-c to exit."
+ "\nWindows: Type ctrl-z or ctrl-c to exit.");

try {
// 每读入一行,向标准输出设备输出
while ((s = in.readLine()) != null) {
System.out.println("Read: " + s);
}

// 关闭流,这步动作在对流的操作完成后一定要做。
in.close();
} catch (IOException e) { // Catch any IO exceptions.
e.printStackTrace();
}
}
}


编译运行这个程序,它将阻塞等待输入,我们可以通过键盘向它输入数据,这个程序从标准输入中逐行读取输入的数据,然后将它们显示到标准输出中(此处是默认的屏幕)。



在Windows命令行下可以通过按下“Ctrl+C”来终止这个应用的运行。



下面我们来看如何向标准设备输出数据。其实在前面的章节中,我们已经多次用到这个功能,在此作一个总结。


通常我们使用System.out.println()/System.out.print()两个常用的方法向标准设备输出。println()方法将参数打印出来,并加上”\n”字符,也就是换一个新行。而print()方法只打印参数,但不加新行。


另外,System.out.print()和System.out.println()方法对多数简单数据类型 (boolean, char, int, long, float, double)和char[], Object以及String进行了重载,使得它们可以向外输出所有的数据类型数据。


需要注意的是,print(Object)或println(Object)将会调用Object对象的toString()方法,输出表示对象的字符串。


下面我们来看一个项标准设备输出数据的例子。

public class Echo {
public static void main(String args[]) {
int a = 100;
boolean b = true;
System.out.print("echo an int primitive type data:");
System.out.println(a);
System.out.print("echo a boolean primitive type data:");
System.out.println(b);
System.out.print("echo an object:");
Object o = new Object();
System.out.println(o);
}
}


在这个程序中,向标准输出设备输出两种简单类型的数据:int和 boolean,以及一个Object,正如上面所述,System.out的这些println()方法都已经针对不同的数据类型进行了重载,所以可以直接使用。而对于引用类型数据,它会调用该对象上的toString()方法,将这个方法返回的表示该对象的字符串打印出来。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值