FileInputStream

来源:互联网 发布:nginx 日志日期格式 编辑:程序博客网 时间:2024/04/29 05:30
java.io 

Class FileInputStream

java.lang.Object

     extended by java.io.InputStream

        extended by 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 指定。

 

方法摘要 intavailable()
          返回下一次对此输入流调用的方法可以不受阻塞地从此输入流读取(或跳过)的估计剩余字节数。 voidclose()
          关闭此文件输入流并释放与此流有关的所有系统资源。protected  voidfinalize()
          确保在不再引用文件输入流时调用其 close 方法。 FileChannelgetChannel()
          返回与此文件输入流有关的唯一 FileChannel 对象。 FileDescriptorgetFD()
          返回表示到文件系统中实际文件的连接的 FileDescriptor 对象,该文件系统正被此 FileInputStream 使用。 intread()
          从此输入流中读取一个数据字节。读到文件末尾返回-1。 intread(byte[] b)
          从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。 intread(byte[] b, int off, int len)
          从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。 longskip(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){
}