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){} 
时间: 2024-11-10 14:05:35

FileInputStream的相关文章

【java】io流之字节输入流:java.io.InputStream类及子类java.io.FileInputStream

1 package 文件操作; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.IOException; 6 import java.io.InputStream; 7 8 public class TestInputStream { 9 public static void main(String[] args) throws IOException { 10 File file=new F

探究java IO之FileInputStream类

使用FileInputStream类创建的InputStream对象可以用于从文件读取内容.两个常用的构造函数如下所示: FileInputStream(String filePath) FileInputStream(File fileObj) 这两个构造函数都会抛出FileNotFoundException异常.其中,filePath是文件的完整路径名,fileObj是描述文件的File对象. 下面的例子创建了两个FileInputStream对象,它们使用相同的磁盘文件,并且分别是使用这两

FileInputStream、FileReader、FileInputStream、FileWriter使用小结

本文是基于Linux环境运行,读者阅读前需要具备一定Linux知识 InputStream包含如下三个方法: int read():从输入流中读取单个字节,返回所读取的字节数据(字节数据可直接转化为int类型) int read(byte[] b):从输入流中最多读取b.length个字节的数据,并将其存储在字节数组b中,返回实际读取的字节数 int read(byte[] b, int off, int len):从输入流中最多读取len个字节的数据,并将其存储在数组b中:放入数组b中时,并不

FileInputStream利用缓冲数组读取数据

package cd.itcast.fileinputstream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class Demo1 { public static void main(String[] args) throws IOException { //目标文件 File fil

FileOutputStream&FileInputStream&异常的使用

我们总觉得历史是极其遥远的东西,与我们并无关联,又觉得历史隐藏在图书馆的旧书之中. 然而,我们每个人都有真真切切的历史.那便是每日的历史.今天自己做了些什么,又是怎么做的,都会成为你历史中的一页. 是畏缩不前.碌碌无为,还是勇猛挑战,花心思比昨天做的更好.每种态度,都会写就属于你的历史. --尼采 <快乐的知识> 以下是今天的练习,这些是自己在看着官方说明文档写出来的练习: 1 package Zhang; 2 3 import java.io.File; 4 5 import java.io

理解IO流:InputStream和OutputStream,FileInputStream和FileOutputStream,Reader和Writer,FileReader和FileWriter,BufferedInputStream 和 BufferedOutputStream, BufferedReader 和 BufferedWriter,转换流

/* * 1.理解 "流" ? * 动态性.连续性.方向性. * * 2.在java语言中,将数据的输入/输出称之为 IO流. IO流的分类: * 1) 从方向分: 输入流 , 输出流. (参照计算机的内存) * 将数据送到内存中去称之为输入流.反之,称之为输出流. * * 2) 从处理单位来分: 字节流(8位二进制数据), 字符流(16位二进制数据). * * 3) 从是否有数据源来分: 节点流(有数据源), 处理流(必须套在节点流上). * * 3.在Java语言中,所有流类均来自

Java IO流(第三讲):字节流中的FileInputStream与FileoutputStream

一.概念 FileInputStream和FileOutputStream 是一对继承与InputStream和OutputStream的类,用于本地文件读写,按二进制格式读写并且顺序读写,读和写的文件流要区分开,即分别创建不同文件流对象. 二.记住in和out 死记硬背型: 不管你从磁盘读,从网络读,或者从键盘读,读到内存,就是InputStream. 不管你写入磁盘,写入网络,或者写到屏幕,都是OuputStream. 理解型: 有些人经常遇到InputStream.OuputStream,

Java IO(三) 之 FileInputStream

前言: 对于文件系统中的文件,都可以使用FileInputStream流类以二进制的形式进行读取,但是由于Java本身的定位在JVM之上,没有处理计算机底层的能力,因此一些涉及底层处理的方法都是使用native方法调用第三方底层语言进行处理的. 本人重在讲解FileInputStream类的内部实现,不会对其应用过分的讲解. FileInputStream的类图: 解析: FileInputStream重载了3个构造方法,可以通过以下三种方式初始输入流: public FileInputStre

JAVA学习--文件流FileInputStream和FileOutputStream操作

* 1.流的分类: * 按照数据流向的不同:输入流  输出流 * 按照处理数据的单位的不同:字节流  字符流(处理的文本文件) * 按照角色的不同:节点流(直接作用于文件的)  处理流 *  * 2.IO的体系 * 抽象基类            节点流(文件流)                                缓冲流(处理流的一种) * InputStream        FileInputStream            BufferedInputStream * Outp