System.in和System.out分别代表了系统标准的输入输出设备,默认输入设备是:键盘,默认输出设备是:显示器,控制台。
System.in的类型是:InputStream, System.out类型是: PrintStream。
其实都是OutputStream的子类,
重定向:通过System的setIn()方法和setOut()方法对默认的设备进行改变。
代码实现:
/**
* 标准的输入输出流
* System.in: 标准输入流, 默认从键盘输入
* System.out: 标准输出流, 默认输出到控制台,显示器
* 测试案例:从键盘输入字符串,将输入的字符串转换为大写数据,当输入'e'或'exit'时,程序退出
*/
public static void main(String[] args) {
//创建一个缓冲流
BufferedReader bufferedReader = null;
try {
//创建转换流
InputStreamReader inputStreamReader = new InputStreamReader(System.in);
bufferedReader = new BufferedReader(inputStreamReader);
while (true) {
System.out.println("请输入字符串:");
//获取控制台输入的字符串
String data = bufferedReader.readLine();
//忽略大小写当输入'e'或'exit'时,程序退出
if ("e".equalsIgnoreCase(data) || "exit".equalsIgnoreCase(data)) {
System.out.println("程序结束");
break;
}
//输出大写字符串
System.out.println("转换为大写为:"+data.toUpperCase());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
结果: