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的主要内容,如果未能解决你的问题,请参考以下文章