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)
通过使用文件描述符 |
|
FileInputStream(String name)
通过打开一个到实际文件的连接来创建一个 |
方法摘要 | |
---|---|
int |
available() 返回下一次对此输入流调用的方法可以不受阻塞地从此输入流读取(或跳过)的估计剩余字节数。 |
void |
close()
关闭此文件输入流并释放与此流有关的所有系统资源。 |
protected |
finalize()
确保在不再引用文件输入流时调用其 |
FileChannel |
getChannel()
返回与此文件输入流有关的唯一 |
FileDescriptor |
getFD()
返回表示到文件系统中实际文件的连接的 |
int |
read()
从此输入流中读取一个数据字节。读到文件末尾返回-1。 |
int |
read(byte[] b)
从此输入流中将最多 |
int |
read(byte[] b, 从此输入流中将最多 len 个字节的数据读入一个byte 数组中。 |
long |
skip(long 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