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类的方法。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • css设置背景颜色渐变色_css设置超出显示省略号

    css设置背景颜色渐变色_css设置超出显示省略号对角线渐变:background:linear-gradient(totopright,#f6f5f0,#fefefd);如果有多个颜色渐变,颜色的参数可以有多个:background:linear-gradient(totopright,#CDDC39,#8BC34A,#FFEB3B);可以指定颜色渐变的位置:background:linear-gradient(totopright,#CDDC390%,#8BC34A25%,#FFEB3B100%);

    2022年10月26日
  • minicom指令_minicom配置及说明

    minicom指令_minicom配置及说明平时总是要用到这我并不太喜欢的minicom,可就总是忘记一切东西,先记下来吧。安装:sudoapt-getinstallminicom配置:注意一定要在root下或用sudo,不然做的配置不会被保存输入:sudominicom-s这时会弹出提示:ConfigurationFilenamesandpaths文件名和路径Filetransferprotocols文件传输协议Ser…

  • XLSTransformer生成excel一个简单的演示示例文件

    XLSTransformer生成excel一个简单的演示示例文件项目结构图:在这些项目中使用jar。可以http://www.findjar.com/index.x下载ExcelUtil类源代码:packageutil;importjava.io.IOExce

  • mysql字符串和数字的互相转换

    mysql字符串和数字的互相转换1.最简单的方式就是直接在字符串后面+0,就相当于直接把字符串转为数字类型了,下面可以看一下具体的操作,可以看到通过+0操作,成功将两个字符串转化为了数字,并得到了相加后的结果。2.使用CAST()函数,使用方式为CAST(valueAStype);,下面可以看一下具体的操作例子,通过如下sql语句查看结果:SELECTCAST(‘5.45’ASSIGNED);…

  • Unity3d场景快速烘焙【2020】

    Unity3d场景快速烘焙【2020】很多刚刚接触Unity3d的童鞋花了大量的时间自学,可总是把握不好Unity3d的烘焙,刚从一个坑里爬出来,又陷入另一个新的坑,每次烘焙一个场景少则几个小时,多则几十个小时,机器总是处于假死机状态,半天看不到结果,好不容易烘焙完了,黑斑、撕裂、硬边、漏光或漏阴影等缺陷遍布,惨不忍睹,整体效果暗无层次,或者苍白无力,灯光该亮的亮不起来,该暗的暗不下去,更谈不上有什么意境,痛苦的折磨,近乎失去了信心,一个团队从建模到程序,都没什么问题,可一到烘焙这一关,就堵得心塞,怎么也搞不出好的视觉效果,作品没法及时向用户交

  • 蒂森MC2服务器显示FC00,蒂森电梯MC2常用功能地址参数设置说明.pdf[通俗易懂]

    蒂森MC2服务器显示FC00,蒂森电梯MC2常用功能地址参数设置说明.pdf[通俗易懂]C1/12MC2A00TEXXXX–TS1.MC21.1.A000/F000A001/F0011.2.MF3/MF4/MS3A/BMP1MPMS31.3.//j1.4.1.5.A3001.6.1.7.1.8.C2/12MC2A00TEXXXX–TSA2C21MP1.71.9.1.10.C…

发表回复

您的电子邮箱地址不会被公开。

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