标准输入输出流
System类中的两个成员变量:
- public static final InputStream in “标准”输入流。
- public static final PrintStream out “标准”输出流。
- InputStream is = System.in;
- PrintStream ps = System.out;
// 这个输出语句其本质是IO流操作,把数据输出到控制台。
System.out.println("hello world");
// 获取标准输出流对象
PrintStream ps = System.out;
ps.println("hello world");
//注: ps.print();//这个方法不存在
PrintStream ps = System.out;
OutputStream os = ps;
OutputStream os = System.out; // 多态
public class SystemOutDemo2 {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write("hello");
bw.newLine();
bw.flush();
bw.close();
}
}
InputStream is = System.in;
public class SystemInDemo {
public static void main(String[] args) throws IOException {
// //获取标准输入流
// //我要一次获取一行行不行呢?
// //行。
// //怎么实现呢?
// //要想实现,首先你得知道一次读取一行数据的方法是哪个呢?
// //readLine()
// //而这个方法在哪个类中呢?
// //BufferedReader
// //所以,你这次应该创建BufferedReader的对象,但是底层还是的使用标准输入流
// // BufferedReader br = new BufferedReader(is);
// //按照我们的推想,现在应该可以了,但是却报错了
// //原因是:字符缓冲流只能针对字符流操作,而你现在是字节流,所以不能是用?
// //那么,我还就想使用了,请大家给我一个解决方案?
// //把字节流转换为字符流,然后在通过字符缓冲流操作
// InputStreamReader isr = new InputStreamReader(is);
// BufferedReader br= new BufferedReader(isr);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一个字符串");
String line =br.readLine();
System.out.println(line);
System.out.println("请输入一个整数");
line = br.readLine();
int i = Integer.parseInt(line);
System.out.println(i);
}
}