【字节流】读数据(一次读一个字节数组数据)

news2024/10/6 5:54:47

字节流读数据(一次读一个字节数组数据)

1.需求: 把文件fos.txt中的内容读取出来在控制台输出

2.思路:

  • 创建字节输入流对象
  • 调用字节输入流对象的读数据方法
  • 释放资源
package com.bytestream;
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamDemo02 {
    public static void main(String[] args) throws IOException {
        //创建字节输入流对象
        FileInputStream fis = new FileInputStream("基础语法\\fos.txt");
        //int read(byte[] b):从该输入流读取最多 b.length个字节的数据到一个字节数组
        byte[] bys=new byte[5];
        //第一次读取数据
        int len = fis.read(bys);
        System.out.println(len);
        //String (byte[] bytes)
        System.out.println(new String(bys));
        //第二次读取数据
        len = fis.read(bys);
        System.out.println(len);
        //String (byte[] bytes)
        System.out.println(new String(bys));
        //第三次读取数据
        len = fis.read(bys);
        System.out.println(len);
        System.out.println(new String(bys));
        fis.close();
    }
}

一次读取5个字节的数据,第一次读取到的字节长度为5,数据为hello;第二次读取到字节长度为5,因为hello和world之间有换行\r\n,所以第二次读取到数据为\r\nwor,控制台输出的结果是一个换行和wor;第三次读取到字节为2,使用ld替换掉第二次\r\n两个字节,因为第二次的读取到的字节长度为5,所以也得替换5个字节,\r\n还需要把wor加上。注意这里的len输出的并不是数组的长度,而是每次读取到实际数据的字节长度。
在这里插入图片描述
在这里插入图片描述

循环改进读数据

package com.bytestream;
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamDemo02 {
    public static void main(String[] args) throws IOException {
        //创建字节输入流对象
        FileInputStream fis = new FileInputStream("基础语法\\fos.txt");
        //循环改进
        byte[] bys=new byte[1024];//1024及其整数倍
        int len;
        while ((len=fis.read(bys))!=-1){
            System.out.print(new String(bys,0,len));
        }
        fis.close();
    }
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/768163.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TCP/IP网络编程 第十五章:套接字和标准I/O

标准I/O函数的优点 标准I/O函数的两个优点 将标准I/O函数用于数据通信并非难事。但仅掌握函数使用方法并没有太大意义,至少应该 了解这些函数具有的优点。下面列出的是标准I/O函数的两大优点: □标准I/O函数具有良好的移植性(Portability) □标准I/O函数可以利用缓…

stable diffusion windows本地搭建的坑

刚刚2小时前,我搭好了,欣喜若狂,开放端口,同事也尝试了。我的配置 16G内存,AMD卡,有gpu但是没有用。这里不说具体步骤,只说坑点。 首先就是安装gfpgan、clip、openclip问题,我参考…

短视频seo矩阵系统源码开发部署

目录 短视频矩阵源码部署步骤简单易懂,开发者只需按照以下几个步骤进行操作: 代码展示---seo关键词分析 开发要点: 代码展示如下: 开发部署注意事项: 说明:本开发文档适用于短视频seo矩阵系统源码开发…

如何理解 dutu输光定理

解决问题 1 dutu 拿100是赌一次好,还是100次1元的好? 一般的地方,如果不是公平赌局,而期望是负数的话 其实du次数越多越亏 2 1%就基本能决定胜负 了 3 千万不要陷入常人思维,用筹码数量思考,输光为止&am…

Windows与Linux取证分析

目录 一、电子数据取证基本概念 1.电子取证学 2.常规取证 3.洛卡德物质交换原理 4.电子数据范围 5.电子数据取证的概念和目的 6.电子数据取证过程 二、Linux系统取证 1.基本信息获取 (1)获取系统基础信息 (2)用户/用户…

centos 安装pyzbar

需求: 运行程序报错 ImportError: Unable to find zbar shared library 进程: 直接使用yum 安装 yum install python-devel && yum install zbar-devel 有时候会能成功,大多数时候python-devel 能成功但是 zbar-devel 会失败 下载…

数据代码分享|R语言基于逐步多元回归模型的天猫商品流行度预测

全文链接:https://tecdat.cn/?p33212 本文通过利用回归模型对天猫商品流行度进行了研究,确定了决定天猫商品流行度的重要因素。并讲述、论证了预测天猫商品流行度是天猫商品交易的至关重要的环节。通过对天猫商品流行度预测技术的发展和探讨&#xff0c…

ModuleNotFoundError: No module named ‘neobolt.packstream._packer‘解决办法

python打包完成后运行报下述错误 在打包得python文件加入以下包,重新打包,问题解决 代码如下: import neobolt.packstream.packer import neobolt.packstream.unpacker import neobolt.bolt.io

PostgreSQL 的就业前景如何?

PostgreSQL的就业前景非常广阔,它是一种功能强大、可靠且开源的关系型数据库管理系统。以下是说明PostgreSQL就业前景的几个关键点: 1.高需求:随着企业和组织对数据存储和管理的需求不断增长,对数据库专业人员的需求也在持续上升…

基于linux下的高并发服务器开发(第二章)- 2.11 匿名管道概述

03 / 匿名管道 04 / 管道的特点 05 / 为什么可以使用管道进行进程间的通信 管道对应一个读端,一个写端。比如说往父进程的文件描述符5 往管道里面写数据,子进程的文件描述符6读出数据。 06 / 管道的数据结构 07 / 匿名管道的使用

win10下解决git报错 Permission denied(publickey)

今天在csdn的GitCode新建了一个项目,然后在windows下git clone时出现错误 gitgitcode.net: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 完整…

transforms

batch norm是列标准化,layer norm是行标准化 transforms的encoder,这里省略了一些东西。每一个block都是输入一段向量,然后输出一段向量。每一个block不仅仅是一层layer。每一个block所做的事情,大概是先输出一段向量&#xff0c…

Elasticsearch 集群某一节点修改 IP 后无法启动问题复盘

1、集群环境及问题描述 集群版本:6.8.X集群节点:5节点(三个节点为主数据节点,另外两个独立数据节点)。问题描述:由于IP冲突,修改了一台服务器的IP,然后5台配置改了一下一次重启&…

导入虚拟机指定NAT模式 IP地址

选vmx扩展名的文件 然后设置IP 选择你自定义的那个网段 大功告成

基于51单片机和proteus的电流采集系统

此系统是基于51单片机和proteus的仿真设计,功能如下: 1. LCD1602实时显示获取到电流值及设定值。 2. 按键可调整电流设定值。 3. 电流值过高则蜂鸣器报警。 4. 指示灯指示电流及系统状态。 5. 系统信息可通过串口实时更新。 功能框图如下&#xff1…

C#窗体添加自定义控件

C#窗体添加自定义控件。 新建一个窗体项目: 在左侧工具箱点击右键选择添加选项卡: 将自定义控件的动态链接库(.dll)放到项目中:文件夹名字随意 在工具箱中选中刚刚添加的工具项,点击右键,选择添…

大模型开发(六):OpenAI Completions模型详解并实现多轮对话机器人

全文共8500余字,预计阅读时间约17~30分钟 | 满满干货(附代码),建议收藏! 代码下载点这里 一、 Completions与Chat Completions基本概念 经过海量文本数据训练的大模型会在全量语义空间内学习语法关系和表达风格,并通过某些微调过…

13.postgresql--函数

文章目录 标量示例复合示例有返回值函数返回voidRETURN NEXT ,RETURN QUERYRETURN EXECUTEIF THEN END IFFOREACH,LOOPSLICE (1)如果函数返回一个标量类型,表达式结果将自动转行成函数的返回类型。但要返回一个复合(行&#xff09…

python如何打包整个项目成exe文件?

首先需要进入项目打包文件所在的目录 运行以下命令打包 build_medicalgraph.py文件 pyinstaller -D build_medicalgraph.py 打包完成后一定要记得下面这个步骤,否则运行会发现报错 把数据文件给放到exe文件同级别目录下 除了以下文件保留,其他文件可以…

EXISTS和IN的区别

一.EXISTS和IN的介绍 1. exists exists返回的是true(空)和flase(非空) 对user表的每行数据逐条取出,每取一行,就判断exists后面的子语句的结果是否为空,是空,这行数据就不要,不是空,这行数据就留下. 如下: select * from user where exists (select 1); 对user表…