黑马程序员技术交流社区

标题: System.in和System.out的问题 [打印本页]

作者: 满兴旺    时间: 2014-4-21 18:47
标题: System.in和System.out的问题
本帖最后由 满兴旺 于 2014-4-22 22:39 编辑

        InputStreamReader(System.in)
        “标准”输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。
        InputStreamReader 是字节流通向字符流的桥梁
        是不是意味着键盘输入是字节流???

        OutputStreamWriter(System.out) 是字符流通向字节流的桥梁
        System.out也是字节流??
请问System.out,System.in默认是字节流还是字符流??能说详细点吗???
还有
InputStream OutputStream
一直以为Input是写入
而Output是输出,请问怎么破???


作者: SyouRai_Tsk    时间: 2014-4-21 19:17
首先明确一个概念
InputStreamReader 和BufferedReader都是输入流
System.in 读取的是字节流
InputStreamReader读取的是字符流
作者: Union    时间: 2014-4-21 21:16
没学到!有奖吗?
作者: 悠然丶    时间: 2014-4-22 00:06
System.in是InputStream, 标准输入流, 默认可以从键盘输入读取字节数据
System.out是PrintStream, 标准输出流, 默认可以向Console中输出字符和字节数据
其实你认为InputStream是写入也可以,但是要明白只是暂时写入到内存中而已.写入到内存就是把数据读出来,
InputStream 所有字节流读取流的基类,其他都是子类
OutputStream 所有字节输入流的基类,其他都是子类
Reader 所有字符读取流的基类
Writer  所有字符写入流的基类

作者: 满兴旺    时间: 2014-4-22 22:38
悠然丶 发表于 2014-4-22 00:06
System.in是InputStream, 标准输入流, 默认可以从键盘输入读取字节数据
System.out是PrintStream, 标准输出 ...

谢谢,其实刚开始视频里面毕老师不是就问了吗,InputStream和OutStream哪个是读哪个是写??我就说应该是Out吗?Out不就是出来吗,结果完全反了,后来想明白了,我这么想应该是以硬盘为参照物,其实外国人命名的时候是以内存为参照物
作者: 田富丰    时间: 2014-4-22 23:41
其实InputStream和OutputStream我一般是这样分别的:
InputStream:这个是要往程序中读取,所以它是输入流
OutputStream:这个是要能过程序向用户进行展示,因此它是输出流
输入流:以System.in来做例子,程序要读取你从键盘上输入的内容,因此这个输入就是读取
输出流:以System.out为例,程序要将内容写到控制台上来进行输出,因此这个输出就是写入
希望你能听懂!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2