九江做网站哪家好/网站推广培训
这个连接包含了常用的流------IO流(总篇章)
System类中有两个静态的成员变量:
public static final InputStream in:标准输入流。通常该流对应于键盘输入或者由主机环境或用户指定的另一个输入源
public static final PrintStream out:标准输出流。通常该流对应于显示输出或者由主机环境或用户指定的另一个输出目标
我们先看标准输入流
package com.testIO;import java.io.IOException;
import java.io.InputStream;/*** @author 林高禄* @create 2020-05-12-16:16*/
public class SystemInDemo {public static void main(String[] args) throws IOException {InputStream is = System.in;int by;while((by=is.read()) != -1){System.out.print((char)by);}}
}
输出:
As
As
林高禄
æé«ç¦
从结果我们可以看出,我们键盘输入什么,控制台就显示什么,但是我们输入汉字“林高禄”的时候,显示的是乱码,这是因为InputStream是字节流,所以输出字符会出现乱码
那么如果我也想输出字符怎么办,这就需要字符流(转换流),把字节流转换为字符流
package com.testIO;import java.io.*;/*** @author 林高禄* @create 2020-05-12-16:16*/
public class SystemInDemo {public static void main(String[] args) throws IOException {/* InputStream is = System.in;// 如何把字节流转换为字符流?用转换流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("请输入一个整数");int i = Integer.parseInt(br.readLine());System.out.println("你输入的整数是:"+i);br.close();}
}
输出:
请输入一个字符串
林高禄
你输入的字符串是:林高禄
请输入一个整数
27
你输入的整数是:27
由此可以实现字符串的输入,但是,自己封装的键盘输入显得麻烦,整数等还得自己转换,所以Java提供了类供我们使用
Scanner sc = new Scanner(System.in);
接下来我们看标准输出流
package com.testIO;import java.io.*;/*** @author 林高禄* @create 2020-05-12-16:16*/
public class PrintStreamDemo {public static void main(String[] args){PrintStream out = System.out;out.println(5);out.print("林高禄");out.println(6);}
}
输出:
5
林高禄6