原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com)

FileInputStream可以以字节流的形式读取文件内容。FileInputStream是InputStream的子类,这意味着你可以把FileInputStream当做InputStream使用(FileInputStream与InputStream的行为类似)。

这是一个FileInputStream的例子:

01 InputStream input = new FileInputStream("c:\\data\\input-text.txt");
02  
03 int data = input.read();while(data != -1) {
04  
05     //do something with data...
06  
07     doSomethingWithData(data);
08  
09     data = input.read();
10  
11 }
12  
13 input.close();

请注意,为了清晰,这里忽略了必要的异常处理。想了解更多异常处理的信息,请参考Java IO异常处理

FileInputStream的read()方法返回读取到的包含一个字节内容的int变量(译者注:0~255)。如果read()方法返回-1,意味着程序已经读到了流的末尾,此时流内已经没有多余的数据可供读取了,你可以关闭流。-1是一个int类型,不是byte类型,这是不一样的。

FileInputStream也有其他的构造函数,允许你通过不同的方式读取文件。请参考官方文档查阅更多信息。

其中一个FileInputStream构造函数取一个File对象替代String对象作为参数。这里是一个使用该构造函数的例子:

1 File file = new File("c:\\data\\input-text.txt");
2  
3 InputStream input = new FileInputStream(file);

至于你该采用参数是String对象还是File对象的构造函数,取决于你当前是否已经拥有一个File对象,也取决于你是否要在打开FileOutputStream之前通过File对象执行某些检查(比如检查文件是否存在)。

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java IO: FileInputStream

最新文章

  1. 结构化查询语言(SQL)数据类型
  2. [C#高级编程].NET体系结构
  3. LA 4080 (多源最短路径+边修改+最短路径树)
  4. python学习笔记25(文件管理 os包)
  5. [Angular Tutorial] 7-XHRs & Dependency Injection
  6. .net core实现redisClient
  7. SpringBoot系列——Spring-Data-JPA
  8. 【Android】pidcat 不显示日志输出
  9. Android SpannableString实现TextView的点击事件
  10. error_match问题
  11. metrics+spring+influxdb整合
  12. Linux - 操作系统
  13. Go Example--切片
  14. Xstream将XML转换为javabean的问题
  15. tomcat上传内容报错
  16. 【总结】java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格
  17. python爬虫beautifulsoup4系列1
  18. python 2.7疑难问题之 编码
  19. beep版千与千寻主题曲(转载自Ice_watermelon233)
  20. CentOS 6.3 下 vsftp搭建

热门文章

  1. 基于SSM开发在线考试系统 Java源码
  2. 深入理解JVM - 垃圾收集器
  3. 业内首发 | 区块链数据服务 - BDS
  4. 如何使用keras加载下载好的数据集
  5. MySQL--SHOW TABLE STATUS命令
  6. Django2.0——路由配置
  7. CodeForces 994B Knights of a Polygonal Table(STL、贪心)
  8. macOS更新失败解决
  9. [Algo] 397. Right Shift By N Characters
  10. SQL服务器攻击总结-注入