Java中,以下三个类经常用于处理数据流,下面介绍一下三个类的不同之处以及各自的用法。

  • InputStream : 是所有字节输入流的超类,一般使用它的子类:FileInputStream等,它能输出字节流;
  • InputStreamReader : 是字节流与字符流之间的桥梁,能将字节流输出为字符流,并且能为字节流指定字符集,可输出一个个的字符;
  • BufferedReader : 提供通用的缓冲方式文本读取,readLine读取一个文本行, 从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。

举例:

//将字节流转化为字符流
InputStreamReader reader = new InputStreamReader(new FileInputStream(targetFile));
//提供通用的缓冲方式文本读取
BufferedReader br = new BufferedReader(reader);

迭代器(Iterator)

  • (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。

  • (2) 使用next()获得序列中的下一个元素。

  • (3) 使用hasNext()检查序列中是否还有元素。

  • (4) 使用remove()将迭代器新返回的元素删除。

举例:

迭代器用于while循环
 Iterator iter = l.iterator();
 while(iter.hasNext()){
  String str = (String) iter.next();
  System.out.println(str);
 }

File类中的list和listFiles方法

  • list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组
  • listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组

list的add()和addAll()的方法

  • result.addAll(list);   // 把list中的每一个元素加到result中,result.size() == list.size()
  • result.add(list);       // 将list作为一个元素加到result中,则result.size()为1

最新文章

  1. 怎么实现CSS限制字数,超出部份显示点点点.
  2. KMP算法的Next数组详解
  3. FZU 2093 找兔子 状压DP
  4. JVM知识学习与巩固
  5. 自定义ShareDialog视图
  6. HDU 3123-GCC(递推)
  7. ssh, maven and eclipse 那些破事
  8. mvn 下载源码和javadoc
  9. python专题-Mysql数据库(python3._+ PyMysql)
  10. C语言运算符运算顺序判断实例2
  11. .NET Core容器化之多容器应用部署@Docker-Compose
  12. (五)qt资源文件
  13. 关于WPF中TextBox使用SelectAll无效的问题的解决办法
  14. 20155324 2016-2017-2 《Java程序设计》第6周学习总结
  15. python+requests+excel 接口自动化框架
  16. 洛咕 P3706 [SDOI2017]硬币游戏
  17. hiho1269 优化延迟 ([Offer收割]编程练习赛1)
  18. 【php】https请求
  19. GetProcAddress 使用注意事项
  20. C#:安装Windows服务,动态指定服务名及描述(转载)

热门文章

  1. 通过js添加的元素点击事件无法触发
  2. ntopng 推送solr
  3. 环形进度条的实现方法总结和动态时钟绘制(CSS3、SVG、Canvas)
  4. 树链剖分( 洛谷P3384 )
  5. svn conflict 冲突解决
  6. Sequelize 基本操作
  7. Hyperledger Fabric 1.0 从零开始(九)——Fabric多节点集群生产启动
  8. Nodejs(pkg方式安装)卸载 及命令行模式的重新安装
  9. ionic3 笔记
  10. (6综合实验)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练