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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python数据可视化教程:基于Plotly的动态可视化绘图

    Python数据可视化教程:基于Plotly的动态可视化绘图1.plotly介绍Plotly是一个非常著名且强大的开源数据可视化框架,它通过构建基于浏览器显示的web形式的可交互图表来展示信息,可创建多达数十种精美的图表和地图,下面我们以jupyternotebook为开发工具数据分析。Matplotlib存在不够美观、静态性、不易分享等缺点,限制了Python在数据可视化中的发展。为了解决这个问题,新型的动态可视化开源模块Plotly应运而生…

    2022年6月16日
    258
  • ideaIU-2022.01.13激活码-激活码分享

    (ideaIU-2022.01.13激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html747EFQ8BIF-eyJsa…

    2022年3月31日
    59
  • android平台中,EventBus研究学习

    android平台中,EventBus研究学习

    2022年1月23日
    48
  • 推荐 5 款好用的REST API工具

    作者 | Marta Krzyk 首发|架构头条 译者 | 王强  策划 | 小智 市面上可用的 REST API 工具选项有很多,我们来看看其中一些开发人员最喜欢的工具…

    2021年6月22日
    115
  • Java之XML的使用「建议收藏」

    Java之XML的使用「建议收藏」一.xml的定义和优势:(1).定义:在描述一些有结构性的数据时应当使用XML来描述,例如:用户信息/省市结构等XML(eXtensibleMarkupLanguage),是一种可扩展的标记语言,类似HTML。XML技术是W3C组织(WorldWideWebConsortium万维网联盟)发布的,目前遵循的是W3C组织于1998年发布的XML1.0规范。HTML:显示页面,网…

    2022年7月7日
    22
  • openstack Migration[通俗易懂]

    openstack Migration[通俗易懂]ConfiguringMigrationsMigrationallowsanadministratortomoveavirtualmachineinstancefromonecomputehosttoanother. Thisfeatureisusefulwhenacomputehostrequiresmaintenance. Mi

    2025年7月8日
    0

发表回复

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

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