一、系统输入流
系统输入流是System类的一个静态成员,名称为in,类型为InputStream,在java程序运行时,系统会自动提供。下面是一个事例。
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Sample6_1 {
public static void main(String[] args) {
try {
//将System.in返回的InputStream字节流转换成字符流
InputStreamReader is = new InputStreamReader(System.in);
//将转换后的字符流封装成BufferedReader流
BufferedReader br = new BufferedReader(is);
String s = null;
System.out.println("请输入一行内容(直接回车则推出程序)");
//测试输入的内容是否为空
while((s=br.readLine())!=null&&s.length()!=0)
{
System.out.println("您输入的内容为:"+s);
System.out.println("请输入一行内容(直接回车则推出程序)");
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
上述代码的功能为从系统输入流中读取用户的输入,并打印到命令行窗口中。如果用户不输入任何内容即回车,则程序退出。首先将系统输入流封装进InputStreamReader处理流,将字节流转换为字符流,接着再将InputStreamReader处理流封装进BufferReader处理流得到换从与按行读取的功能
二、系统输出流
系统输出流即System.out,是最常用的也是最常见的。通过其可以输出制定的内容。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Date;
public class Sample6_1 {
public static void main(String[] args) {
Date date = new Date();
//输出完整时间
System.out.printf("当前时间为:%tc。\n",date);
//按格式打印字符串
System.out.printf("%s://%s/%s\n","http","host","path");
//打印boolean值
System.out.printf("boolean value is %1$B\n",true);
String[] words = {"a","aaa","aaaaaaaaaaaaaaaaaaaa"};
System.out.printf("%-20s %s\n","word","length");
for(String word:words){
System.out.printf("%-20.20s %s\n",word,word.length());
}
}
}
上述代码中使用不同的格式串对各种数据进行了格式化输出。