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


相关推荐

  • eclipse使用jrebel

    eclipse使用jrebeljrebel 注:以下都是网上收集整理的,可能不全,仅限于学习和研究使用。 JavaRebel是一个工具,主要是用于热加载,比如说在Tomcat之类的应用服务器中,更新了class或者某些资源文件,使用了JRebel之后,就不需要重新启动应用服务器。这里有一点先声明一下,本文只是激活成功教程仅限于学习和研究使用,勿用于其他用途。下载地址:http://www.zeroturnar…

    2022年6月18日
    49
  • java软件工程师月薪多少_软件工程师的工资待遇

    java软件工程师月薪多少_软件工程师的工资待遇java软件工程师月薪多少?到底能拿到高工资吗?想知道吗?相信这个问题困扰了很多刚入行学习java技术的人,现在带着疑问跟随达内北京java培训机构一起去了解一下吧。其实,随着互联网的发展,java软件工程师的市场需求也是非常大的,因此,java软件工程师的未来发展前景以及薪资待遇都是不错的,至于Java软件工程师一个月能挣多少钱的问题,其实Java软件工程师月薪的问题,事实上没有什么标准答案,…

    2022年9月24日
    0
  • mipi协议中文详解

    mipi协议中文详解https://blog.csdn.net/weixin_39558208/article/details/77067735一、MIPIMIPI(移动行业处理器接口)是MobileIndustryProcessorInterface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。已经完成和正在计划中的规范如下:二、MIPI联盟的MIPID…

    2022年4月29日
    128
  • 对于三极管饱和状态的理解「建议收藏」

    对于三极管饱和状态的理解「建议收藏」对于三极管饱和状态的理解https://zhidao.baidu.com/question/172715750.html问题来源对于三极管饱和状态的理解三极管如工作在饱和状态也就是开的状态,那么就是双结正偏这是书上的解释我自己的理解是这样的:饱和状态和从放大状态转变过来的,极电结和发射结正偏是结果,而不是原因就是说,三极管首先工作在放大状态,极电结反偏,发射结正偏当基级电流增大时,一直增大到三极管的非线性区(这里指的是饱和区),注意,在这一瞬间偏置情况并未改变,也就是说依然是极电结反偏,

    2022年9月11日
    0
  • 深度自编码器原理_编码器原理

    深度自编码器原理_编码器原理自编码器的目标:使用少量高阶特征重构输入定义:使用自身的高阶特征编码自己思想:自编码器其实也是一种神经网络,他的输入和输出一致的,借助稀疏编码的思想,目标是使用高阶特征重新组合来重构自己。特点:期望输入和输出一致;希望使用高阶特征来重构自己,而不只是复制像素点。Hinton提出基于信念网络(deepbeliefNetwords,DBN,由多层RBM堆叠而成)可以使用无监督学习逐层训练的贪心算法…

    2022年10月1日
    0
  • potPlayer 快捷键[通俗易懂]

    potPlayer 快捷键[通俗易懂]空格:播放/暂停 Enter/Alt+Enter:全屏  c–加速  x–减速  z–恢复原速度,再次则恢复上次速度(类似以前电视机的【回看】功能) Tab:显示当前播放视频信息 H:书签管理器 P:添加书签 M:静音 第一行除【p】外:调整图像色彩、亮度、对比度、饱和度、复位 D:定位上一帧,省去截屏与倒退的烦恼 F:定位下一帧 G:直接输入定位位置 0:…

    2022年5月11日
    166

发表回复

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

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