FileInputStream

Posted 茅坤宝骏氹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FileInputStream相关的知识,希望对你有一定的参考价值。

java.io 

Class FileInputStream

java.lang.Object

     技术分享java.io.InputStream

        技术分享java.io.FileInputStream

所有已实现的接口:

         Closeable


public class FileInputStream extends InputStream

 

FileInputStream 从文件系统中的某个文件中获得输入字节。哪些文件可用取决于主机环境。

FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader


构造方法摘要
FileInputStream(File file)
          通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream(FileDescriptor fdObj)
          通过使用文件描述符 fdObj 创建一个 FileInputStream,该文件描述符表示到文件系统中某个实际文件的现有连接。
FileInputStream(String name)
          通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。

 

方法摘要
 int available()
          返回下一次对此输入流调用的方法可以不受阻塞地从此输入流读取(或跳过)的估计剩余字节数。
 void close()
          关闭此文件输入流并释放与此流有关的所有系统资源。
protected  void finalize()
          确保在不再引用文件输入流时调用其 close 方法。
 FileChannel getChannel()
          返回与此文件输入流有关的唯一 FileChannel 对象。
 FileDescriptor getFD()
          返回表示到文件系统中实际文件的连接的 FileDescriptor 对象,该文件系统正被此 FileInputStream 使用。
 int read()
          从此输入流中读取一个数据字节。读到文件末尾返回-1。
 int read(byte[] b)
          从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。
 int read(byte[] b, int off, int len)
          从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。
 long skip(long n)
          从输入流中跳过并丢弃 n 个字节的数据。

 

读文件实例

try{
FileInputStream fis = new FileInputStream("file.txt"); //创建一个长度为1024的内存空间,1024足够大,可以一次将文件读取完,不会出现中文注释乱码问题 byte[] buf = new byte[1024]; //用于保存实际读取的字节数 int len = 0; //使用循环来重复读取数据 while( (len = fis.read(buf)) > 0){ //将字节数组转换为字符串输出 System.out.print(new String(buf,0,len)); } //关闭文件输出流,放在finally块里更安全 fis.close();
}catch(IOException ex){
}

 

















以上是关于FileInputStream的主要内容,如果未能解决你的问题,请参考以下文章

IO 流之 FileInputStream 终级版

FileInputStream.read() 啥时候阻塞?

我必须关闭 FileInputStream 吗?

BigDataJava基础_FileInputStream的基本使用

文件类练习题(FileInputStream类)

如何在 Java 中将 ByteBuffer 转换为 FileInputStream?