A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 深知一生短暂 于 2013-9-10 12:45 编辑

关于输入输出,本人觉得scanner更加方便~为什么还要用inputStream OutputStream还有字符流那些?
        public static void main(String[] args) throws FileNotFoundException {
                //简单的输入和出处
                //while(true){
                //Scanner scan=new Scanner(System.in);
                Scanner scan=new Scanner(new File("a.txt"));
                //String str=scan.next();
               
                while(scan.hasNext()){
                String str=scan.next();
                //int str=scan.nextInt();
                //boolean str=scan.nextBoolean();
                System.out.println(str);
        }
                //if(str==5)break;
               
                //}
               
        }
结果和流操作相同吖,而且代码更加简洁想问问Scanner是如何来的?它和流对象那些有什么区别?还有用的时候大家都好像在用inputStream和OutputStream和字符流那些?

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

4 个回复

倒序浏览
如果是图片或者是需要转码的文档就要用流了

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

回复 使用道具 举报
Scanner可以使用正则表达式来分析基本类型和字符串的简单文本扫描器。Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。
IO流,输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。
因此说,Scanner类是简单的读取输入值,而想要操作复杂的文件就要使用IO。

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

回复 使用道具 举报
Scanner扫描器和输入流两种方式都能进行输入操作,但是还是有区别。

      对于字符类型的数据既可以用Scanner也可以用流来进行处理。
     但是对于多媒体数据就必须要使用流来操作。。。。。
回复 使用道具 举报
Scanner只能左右与文本文件,超出文本文件就不合适了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马