FileInputStream类

FileInputStream类FileInputStream类如果用户的文件读取需求比较简单,则可以使用FileInputStream类,该类是InputStream的子类,提供了基本的文件读取功能。FileInputStream类的常用构造方法如下:Ø FileInputStream(Stringname):使用给定的文件名name,创建一个FileInputStream对象。Ø FileInput

大家好,又见面了,我是你们的朋友全栈君。

FileInputStream类

如果用户的文件读取需求比较简单,则可以使用FileInputStream类,该类是InputStream的子类,提供了基本的文件读取功能。

FileInputStream类的常用构造方法如下:

Ø  FileInputStream( String name ):使用给定的文件名name,创建一个FileInputStream对象。

Ø  FileInputStream( File file ):使用File对象创建FileInputStream对象。

1.使用文件输入流读取文件

         文件输入流FileInputStream提供了对文件的存取。为了读取文件,使用文件输入流构造方法来打开一个到达该文件的输入流(源就是这个文件,输入流指向这个文件)。

例如:为了读取一个名为myfile.txt的文件,建立一个文件流对象,代码如下:

FileInputStream istream=new FileInputStream(“myfile.txt”);

或者:File file=newFile(“myfile.txt””);

          FileInputStream istream=new FileInputStream(file);

2.从输入流中读取字节

输入流的唯一目的是提供通往数据的通道,程序可以通过这个通道读取文件中的数据。

read方法提供了一个从输入流读取数据的基本方法,read方法的格式如下:

返回值

方法

说明

int

read( )

从输入流中读取数据的下一个字节

int

read(byte[] b)

从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。以整数形式返回读取的字节数。

int

read(byte[] b, int off, int len)

将输入流中最多 len 个数据字节读入 byte 数组。尝试读取 len 个字节,但读取的字节也可能小于该值。以整数形式返回实际读取的字节数。

注:read方法在从输入流中读取源中的数据时,如果到达源的末尾,便会返回-1。

FileInputStream流顺序地读取文件,只要不关闭流,每次调用read方法就顺序的读取源中其余的内容,直至源的末尾或流被关闭。

3.关闭流

虽然Java在程序结束时自动关闭所有打开的流,但是当我们使用完流后,显式的关闭我们打开的流仍是一个良好的习惯。如果没有过关闭被打开的流,可能会用尽系统资源或者造成某些资源不能被其他程序访问。关闭输入流,可以把该流缓冲区中的内容清除。

close( )方法可以关闭我们打开的输入流。

实例如下:

(1)      在C盘根目录下建立一个名称为“FileInputStreamDemo.txt”的文件,文件内输入“This is atest about FileInputStream .”;

(2)      创建Java文件读取文件,代码如下:

import java.io.File;import java.io.FileInputStream;public class FileInputStreamDemo {    public staticvoidmain(String[] args){        File file;        int b;        byte[] data=newbyte[512];        try{            file=new File("C:"+File.separator+"FileInputStreamDemo.txt");            FileInputStream in=new FileInputStream(file);            while ((b=in.read(data, 0, 512))!=-1) {                String str=new String(data,0,b);                System.out.println(str);                       }
<span style="white-space:pre">	</span>in.close();        }catch(Exception e){            e.printStackTrace();        }    }}

(3)      结果如下:

Thisis a test about FileInputStream .

FileInputStream继承自InputStream类,更多方法可以参考博文 《

Java IO之输入输出流 》中的输入流InputStream类的方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144728.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 敏捷开发和瀑布式开发模式有何区别(瀑布,敏捷 devops)

    软件开发模式对比(瀑布、迭代、螺旋、敏捷)1、瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型, 瀑布式开发是一种老旧的计算机软件开发方法。瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。 瀑布式的主要的问题是它的严格分级导致

    2022年4月14日
    121
  • 浏览器编译代码_ie浏览器html编辑器

    浏览器编译代码_ie浏览器html编辑器20个最强的基于浏览器的在线代码编辑器1.CompilrCompilr是一个在线编译器和在线IDE。可以用它来开发PHP,C,C++,Ruby。在浏览器中编译Java,C#和VB.net等。马上使用2.Dabblet跨浏览器兼容,对前端攻城师们来说是一个不得不处理的问题。为了在浏览器间呈现统一的显示效果,攻城师们不仅要为每个游览器添加CSS前缀,甚至还…

    2022年8月14日
    3
  • java物联网框架_物联网学java吗

    java物联网框架_物联网学java吗基于java的物联网架构实现前言:19年11月开始从【金融】行业转【物联网】,路途坎坷,一个人摸索前进,不过也学到了很多新的东西,交了很多好朋友,在此感谢各位!以下是一些经验分享,希望能帮到有需要的朋友。1、架构思路考虑了很久打算用springboot+mysql去实现,因为熟悉这个框架,而且能减轻70%的机械性开发工作量,以后改springcloud也方便(注意逻辑实现不然工作量很大)。物联网和互联网可以说是有共同点的,但是也有很多的不一样。先说协议,互联网很多都是https或者ht

    2022年9月18日
    4
  • Java 认证考试 OCAJP 经验总结

    Java 认证考试 OCAJP 经验总结1. 考证、认证是否有用含金量的话题关于认证考试(无论什么认证)是否有用?这个话题无论是在哪里都有人问。这个问题就好比上大学是否有用吗一样,有的人没上过大学一样年薪百万。认证这种东西需要的时候即有用,不需要的时候就没用。有,并没有什么坏处。说实话个人感觉这证件没什么大用。而自己想考的理由完全是想自我check下,逼自己复习学习基础。如果你是刚毕业的GH或者在校的,手里有些零花钱的可以考虑下,…

    2022年7月8日
    28
  • html简单网页代码 案例_制作网页代码案例

    html简单网页代码 案例_制作网页代码案例当初面试官让我现场手写内存溢出案例代码,我就以Java代码的方式列举了几个典型的内存溢出案例。今天分享给大家,希望大家在日常工作中,尽量避免写这些low水平的代码

    2022年8月22日
    5
  • 计算机错误代码0X000000be,电脑蓝屏0x000000be怎么解决

    计算机错误代码0X000000be,电脑蓝屏0x000000be怎么解决相信遇到过蓝屏的用户都知道,当蓝屏出现时,Windows操作系统的蓝屏死机提示已经成为标志性的画面,是令使用者颇为烦恼的电脑故障。用户遇到电脑蓝屏代码0x000000BE时何解?下面,小编就来跟大家介绍一下电脑蓝屏出现代码0x000000BE的解决方法。电脑蓝屏0x000000be怎么解决1、首先我们要知道0x000000BE错误表示硬件设备的驱动程序试图向只读内存错误地写入数据。这个错误一般是因…

    2022年10月8日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号