FileInputStream(文件字节输入流)

2023-11-10

目录

FileInputStream(文件字节输入流)

1. InputStream 常用的子类

2. FileInputStream介绍

2.1 构造方法摘要

2.2 方法摘要

2.3 应用实例:请使用FileInputStream读取 hello.txt 文件,并将文件内容显示到控制台


FileInputStream(文件字节输入流)

1. InputStream 常用的子类

  • FileInputStream:文件字节输入流
  • BufferedInputStream:缓冲字节输入流
  • ObjectInputStream:对象字节输入流

2. FileInputStream介绍

2.1 构造方法摘要

  • FileInputStream(File file):通过打开与实际文件的连接创建一个 FileInputStream ,该文件由文件系统中的 File对象 file命名。
  • FileInputStream(FileDescriptor fdObj):创建 FileInputStream通过使用文件描述符 fdObj ,其表示在文件系统中的现有连接到一个实际的文件。
  • FileInputStream(String name):通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的路径名 name命名。

2.2 方法摘要

2.3 应用实例:请使用FileInputStream读取 hello.txt 文件,并将文件内容显示到控制台

在D盘新建一个 hello.txt 文件

2.3.1 使用read()方法读取

public class FileInputStream01 {
    public static void main(String[] args) {

    }
    @Test
    public void readFile01(){
        String filePath = "D:\\hello.txt";
        int readData = 0;
        FileInputStream fileInputStream = null;
        try {
            //创建 FileInputStream 对象,用于读取文件
             fileInputStream = new FileInputStream(filePath);
            //如果返回-1,表示读取完毕
            while ((readData = fileInputStream.read()) != -1){
                //转成char显示
                System.out.print((char)readData);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            //关闭文件流,释放资源
            try {
                fileInputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}




 2.3.2 使用 read(byte[] b) 方法读取

public class FileInputStream01 {
    public static void main(String[] args) {

    }
    @Test
    public void readFile02(){
        String filePath = "D:\\hello.txt";
        int readlen = 0;
        //字节数组,一次读取8个字节
        byte[] buf = new byte[8];
        FileInputStream fileInputStream = null;
        try {
            //创建 FileInputStream 对象,用于读取文件
             fileInputStream = new FileInputStream(filePath);
            //如果返回-1,表示读取完毕
            //如果读取正常,返回实际读取的字节数
            while ((readlen = fileInputStream.read(buf)) != -1){
                //转成字符串
                System.out.print(new String(buf,0,readlen));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            //关闭文件流,释放资源
            try {
                fileInputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FileInputStream(文件字节输入流) 的相关文章

随机推荐

  • c#客户端Kafka的使用方法

    简介 Apache Kafka是一个分布式流处理平台 最初由LinkedIn开发 现在是Apache软件基金会的顶级项目之一 Kafka能够处理大规模的实时数据流 支持高可靠性 高可扩展性 低延迟和高吞吐量 它主要用于构建实时数据管道和流式
  • Pycharm debug 的使用

    Debug 作用的理解 若整个代码编写没有错误 且执行体没有设置断点时 Debug同正常运行模式 直接得到最终结果 当某一行代码设置断点后 在Debug模式下 代码会运行断点之前的所有程序 在断点处暂停 并在 变量窗口 可以查看所有主程序当
  • C#学习笔记:RadioButton控件与CheckBox控件的用法

    一 用途 1 RadioButton控件 单选按钮 当与其他单选按钮成对出现时 允许用户从一组选项中选择单个选项 也就是说 当同一个容器中 Form Panel GroupBox PictureBox等 存在两个以上的单选按钮时 只能有一个
  • C#对象和类--习题(1)

    1 一个景区根据游人的年龄收取不同价格的门票 请编写游人类 根据年龄段决定能够购买门票价格并输出 class XiTi string name int age void Xiti1 for 死循环 类似的while true Console
  • 代理模式——静态代理(贴近业务)

    静态代理概念 所谓静态也就是在程序运行前就已经存在代理类的字节码文件 代理类和委托类的关系在运行前就确定了 通常用于对原有业务逻辑的扩充 举例理解 以结婚为例 当事人只需要处理自己的主要事儿即可 比如典礼 洞房 其他的杂事儿可以交给代理公司
  • 乾坤实战教程

    一 什么是微前端架构 微前端不是单纯的前端框架或者工具 而是一套架构体系 这个概念最早在2016年底被提出 可以参考在Google上搜索Micro Frontends 排名靠前的http micro frontends org的博客文章 提
  • grpc arm 交叉编译(ubuntu 16.04)

    1 安装相关依赖工具 安装pkg config sudo apt get install pkg config 安装依赖文件 sudo apt get install autoconf automake libtool make g unz
  • Android:在争议中逃离Linux内核的GPL约束

    原文地址 http tech sina com cn s s 2012 05 28 09447177318 shtml 为这个题材起名 我思考了许久 GPL 是著名的开放源代码许可协议 Linux 内核开源项目正是在 GPL 的庇佑之下 十
  • 解读制造业数字化转型的现状及发展趋势

    智能制造系统现状 企业信息化建设三驾马车 ERP PDM与MES ERP管理的是企业的资源 比如人员 设备折旧等 PDM管理的是产品的设计过程 比如产品图纸 工艺等 MES管理的是制造的过程 比如生产计划 生产作业等 ERP是从客户开始 到
  • Python:后缀为whl的文件是什么?如何安装whl文件?

    whl格式本质上是一个压缩包 里面包含了py文件 以及经过编译的pyd文件 使得可以在不具备编译环境的情况下 选择合适自己的python环境进行安装 安装方法很简单 进入命令行输入 pip install xxxx whl 或者如果是升级
  • 有向图-邻接表

    有向图邻接表 自我感觉比邻接矩阵要理解复杂一点 但是节省的空间不是小数目 所以虽然复杂 但是我们还是要优先考虑邻接表吧 下面代码简单的写了邻接表 但是基本核心的代码全部包括了 之后图中加权的我也在代码中有所涉及 我们只要更一些参数就可以 基
  • 医学图像分辨率提高 FBPconvnet(Deep Convolutional Neural Network for Inverse Problems in Imaging 实现)

    这篇博客主要是实现论文 Deep Convolutional Neural Network for Inverse Problems in Imaging 这篇论文主要是用较少的回波信号对医学图像进行重建 用较多的回波信号进行医学图像重建
  • Source Insight 4.0 Monokai黑色主题

    比较喜欢Sublime text的Monokai主题 周末空闲时间在Source Insight上DIY一下 分享给大家 下载地址 https download csdn net download rockex 11712949 下载配置文
  • Windows server 2019搭建NFS服务器

    1 NFS服务端配置 安装服务 配置NFS共享文件夹 选择服务器和此共享的路径 选择我们创建的磁盘 创建共享名称 指定身份验证方法 设置共享权限 指定我要授权访问的主机 确认选择没有问题点击创建 可以看到我们刚才创建好的共享文件夹 2 NF
  • Linux-rpm命令-查看已安装软件包信息及未安装rpm包信息

    博文说明 前言 本文将通过个人口吻介绍rpm命令 包括查看已安装软件包信息及未安装rpm包信息 在目前时间点 2017年6月12号 下 所掌握的技术水平有限 可能会存在不少知识理解不够深入或全面 望大家指出问题共同交流 在后续工作及学习中如
  • 用Endnote在word中插入文献出现{Xu, 1997 #407}等样式的错误的解决方法如下

    1 将Instant Formatting 由Off设置为On 2 弹出的对话框 点击ignore all 参考 https blog csdn net coberup article details 82525988
  • oswatch

    作者 eygle English Version 转载时请以超链接形式标明文章 出处和作者信息及 本声明 链接 http www eygle com archives 2007 07 oracle os watcher html 站内相关文
  • Java虚拟机 -- 垃圾收集器

    介绍垃圾收集器之前先要了解三个知识点 Stop the World JVM由于要执行GC而停止应用程序的执行 任何一种GC算法中都会发生 多数GC优化通过减少Stop the world发生的时间来提高程序性能 Safepoint 安全点
  • 团队共创法成功实施的几个重点

    转自 http blog sina com cn s blog 503d1fff0101bmz3 html 团队共创法是参与的科技 Technology of Participation ToPTM 方法之一 创始於文化事业学会 Insti
  • FileInputStream(文件字节输入流)

    目录 FileInputStream 文件字节输入流 1 InputStream 常用的子类 2 FileInputStream介绍 2 1 构造方法摘要 2 2 方法摘要 2 3 应用实例 请使用FileInputStream读取 hel