转载自  Java IO: FileInputStream

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

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

这是一个FileInputStream的例子:

InputStream input = new FileInputStream("c:\\data\\input-text.txt");
int data = input.read();
while(data != -1) {//do something with data...doSomethingWithData(data);data = input.read();
}
input.close();

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

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

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

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

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

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

Java IO: FileInputStream相关推荐

  1. java报错出现未知源,java.io.FileInputStream.(未知来源)

    您好在eclipse中部署了以下代码 //import cs1.Keyboard; import java.util.*; import java.io.*; public class Parser ...

  2. java io -- FileInputStream

    接上篇文章java io -- InputStream,本文将剖析InputStream中最常用的一个子类FileInputStream FileInputStream是对一个文件抽象而成的数据流,我 ...

  3. Java IO流 - FileInputStream

    FileInputStream 在 JDK 中的位置是 java.lang.Object └ java.io.InputStream     └ java.io.FileInputStream 它被用 ...

  4. Java基础(二十七)Java IO(4)字符流(Character Stream)

    字符流用于处理字符数据的读取和写入,它以字符为单位. 一.Reader类与Writer类 1.Reader类是所有字符输入流的父类,它定义了操作字符输入流的各种方法. 2.Writer类是所有字符输出 ...

  5. Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream

    Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/ ...

  6. Java IO系列之字节流拷贝文件性能比较

    Java IO 字节流基类 InputStream--输入流, OutPutStream--输出流, 输入流用于读,输出流用于写. 字节流默认一次只读取或输出一个字节. package jonavin ...

  7. 你真的以为了解java.io吗 呕心沥血 绝对干货 别把我移出首页了

    文章结构 1 flush的使用场景 2 一个java字节流,inputstream 和 outputstream的简单例子 3 分别测试了可能抛出java.io.FileNotFoundExcepti ...

  8. java IO流之文件切割两例(含Properties 用法)

    package cn.itcast.io.p1.splitfile; import java.io.File; import java.io.FileInputStream; import java. ...

  9. java io 文件复制_实例讲述Java IO文件复制

    前言:IO流主要分为两大类,分别是字节流与字符流 注意: 1.音频文件.图片.视频(范围广),就用字节流 2.只涉及到文本的,就用字符流 使用字节流复制文本内容(其他文件也可以) 代码如下: impo ...

最新文章

  1. DecimalFormat 的使用
  2. asio boost 异步错误处理_boost::asio::error的用法浅析
  3. http压缩方法(IIS 6.0 与IIS 7.0的详解)
  4. win7下删除提示没权限删除文件的方法
  5. Java 7 vs Groovy 2.1性能比较
  6. LeetCode 1626. 无矛盾的最佳球队(最大上升子序DP)
  7. css盒子模型_说说css盒子模型
  8. C++多线程编程(3) 异步操作类 std::future std::promise std::async
  9. oracle中rownum的三种分页方式
  10. gbk字库音序对照表
  11. pdg是什么格式文件怎么打开
  12. breadweb控制台下载_路由器刷breed web控制台助手
  13. windows下,Kiwi_Syslog日志服务器的搭建
  14. cns服务搭建+手机ml,百度直连
  15. 【已解决】error: ‘CV_GRAY2BGR’ was not declared in this scope
  16. STC89C52RC - 1 - 简述以及最小操作系统
  17. Html做一个pdf转换器,HTML转换到PDF转换器
  18. [亲测可用]springBoot调用对方webService接口的几种方法示例
  19. java swing界面美化_java Swing界面优化Jpanel教程
  20. 2021 年最佳 JavaScript 框架排名

热门文章

  1. leetcode101. 对称二叉树(两种做法)
  2. [C++11]通过using定义基础类型和函数指针别名
  3. 《C++ Primer》7.3.1节练习
  4. java进阶之注解篇
  5. Android studio 实验过程中遇到的问题之android.support.v7.app.AppCompatActivity不能使用的解决办法
  6. Redis持久化-深入理解AOF,RDB
  7. pythonwhile循环怎么修改数据类型_python基础--数据类型循环
  8. 堆元素插入 二叉堆一般用数组来表示。typedef struct _otherInfo{ int i; int j;}OtherInfo;-icoding-C-数据结构
  9. 数据结构----单源最短路径Dijkstra
  10. Codeforces Round #656 (Div. 3) F. Removing Leaves 贪心 + 模拟