Java中字节输入流的使用步骤用while循环来读取字节并使用read无参方法

字节输入流 read 读取文件 字节输入流read方法可以传入不同的参数,实现读取文件的方式就不一样,推荐使用方法二。 阅读详情

读取数据的原理(硬盘到内存中)

java程序---->JVM--->OS ----->OS读取数据的方法----->读取文件

字节输入流的使用步骤(重点):

1、创建FileInputStream对象,构造方法中绑定要读取的数据源

2、使用FileInputStream对象中的方法read,读取文件

3、释放资源

package com.baidu.字节输入输出流;

import java.io.FileInputStream;
import java.io.IOException;
/*
    int read​() 从该输入流读取一个字节的数据。
    int read​(byte[] b) 从该输入流读取最多 b.length个字节的数据到一个字节数组。
    void close​() 关闭此文件输入流并释放与流相关联的任何系统资源。

 */
public class InputStream01 {
    public static void main(String[] args) throws IOException {
        //
        FileInputStream fis = new FileInputStream("F:\\develop\\b.txt");
        /*
            int raad()读取文件中的一个字节并返回,读取到问价你的末尾返回-1
         */

        /*int read = fis.read();
        System.out.println(read);//97 a

        //指针后移
        read = fis.read();
        System.out.println(read);//98 b
        //指针继续后移
        read = fis.read();
        System.out.println(read);//99 c */


        /*
            读取文件是一个重复的过程,可以使用for循环优化
            不知道文件中有多少字节。
            不知道循环次数:使用while
            知道循环次数:使用for循环
            while循环结束条件,读取到-1的时候结束
        */
        /*
            布尔表达式(len = fis.read())!=-1
            1、fis.read():读取一个字节
            2、len = fis.read():把读到的字节赋值给变量len
            3、(len = fis.read())!=-1:判断变量是否不等于-1
         */
        int len = 0;
        while((len = fis.read())!=-1){
            System.out.println((char)len);
        }

        fis.close();

    }
}

 

SQL Prompt 9.0插件突然无法使用解决办法(附防联网激活)多图+文字 可能由于Redgate公司最近抓盗版抓得严,导致激活后的SQL Prompt联网后突然无法使用,无论卸载重装都没办法继续使用,本人同时使用SQL Assistant和SQL Prompt,我喜欢SQL Assistant代码提示功能,而SQL Prompt我喜欢将查询结果复制后可以直接生产插入脚本,这是最爽的一件事,即便对表有多么熟悉,没有这些插件,几行语法都要敲大半天,目前本人已经离不开这两个插... 阅读详情

相关推荐

数仓 - 促销敏感度、评论敏感度

1. 促销敏感度 步骤1. 首先按照最后一次下单时间及有无复购情况将用户分为四大群体: 近一年有购物行为且复购的用户 -- L1 (今年复购用户) 近一年有购物行为但无复购的用户 --L2 (今年一单购用户) 最后一次下单时间在1年之前且有复购的用户 --L3 (今年无购且只有一单用户) 最后一次下单时间在1年之前但无复购的用户 -- L4 (今年无购多单用户) 步骤2. 每一类用户群再根据优惠订单占比、每单优惠金额占比的平均值、优惠金额这三个指标进行k-means聚类,分为: 非常敏感 -

weixin_41332009的博客 1898

java InputStream读取数据问题

首先请查看一下JavaAPI,可以看到InputStream读取流有三个方法,分别为read(),read(byte[] b),read(byte[] b, int off, int len)。其中read()方法是一次读取一个字节,鬼都知道效率是非常低的。所以最好是使用后面两个方法。 例如以下代码: /** * 读取流 * * @param inStream ...

java小强 1870

Python量化交易实战:如何用pytdx库快速解析通达信.day文件(附完整代码)

本文详细介绍了如何使用Python的pytdx库高效解析通达信.day本地数据文件,构建免费、稳定的量化交易数据源。文章提供了从环境配置、基础数据读取、复权处理到板块信息获取的完整实战代码,并演示了如何将处理后的数据无缝接入Backtrader等回测框架,为量化策略开发提供可靠的数据基础。

ppp33的博客 1142

InputStream的read()读取机制

public void readArr() { // 明确文件 File file = new File("D:/net.txt"); // 构建流的对象 InputStream inputStream = null; try { inputStream = new FileInputStream(file); // 声名缓冲数组 int i; byte[] bytes = new byte[5]; .

进击的豌豆的博客 2148

【小白教程】本地部署VLM-R1模型(使用Docker)

通过Docker本地部署VLM-R1大模型,详细教程。

m0_69855053的博客 2937

433M遥控器无线解码1527协议

433M遥控器无线解码1527协议,定时器轮询法

weixin_58595117的博客 1万+

Java读取InputStream文本的几种方法总结,附读取字节流bytes字节数组byte[]方法

package org.jeecg.common.util; import com.alibaba.fastjson.util.IOUtils; import lombok.var; import java.io.*; public class StreamUtil { /** * @deprecated IOUtils.readAll */ static String readText_ali(InputStream inputStream) { .

程序员养成计划 1万+

【RL in VLA】VLA中的强化学习

本文提出了一种名为 Reinforcement Learning Distilled Generalist(RLDG) 的方法,通过强化学习生成高质量训练数据来微调机器人基础模型。通过在多个精确操作任务上的实验,我们证明了 RLDG 在成功率和泛化能力上显著优于使用人类演示的传统微调方法。RLDG 不仅减少了对人类演示数据的依赖,还展示了在复杂多阶段任务中的灵活性和有效性。

三木今天学习了嘛の博客 2257

关于IO流读取文件

后续有时间再写

我是你庆歌的博客 260

使用plot函数可视化F分布累积分布函数数据(R语言)

在上面的代码中,我们使用了seq()函数来生成从0到5之间,以0.1为步长的一组F值。然后,我们指定了分子自由度为3,分母自由度为8,并使用pf()函数计算了对应的F分布CDF值。在本文中,我们将介绍如何使用R语言的plot函数来可视化F分布的累积分布函数(CDF)数据。通过使用plot函数,我们可以直观地了解F分布的累积分布函数,并对F值和对应的累积概率之间的关系有更深入的认识。运行上述代码后,我们将获得一个由F值和对应的累积概率构成的图形,其中x轴表示F值,y轴表示累积概率。

LogicGuruX的博客 502

多周期路径约束(set_multicycle_path )

1.由慢到快的多周期约束 如下图所示,发射时钟周期是接受时钟周期的4倍。默认情况下,按照1T原则来进行静态时序分析和布局布线的。即建立时间是在发射沿后的第一个捕获沿检查,而保持时间是同一时刻下源时钟和捕获时钟的触发边沿下检查的(建立时间检查边沿的前一个触发沿)。 但是这样导致的问题就是该路径过于苛刻,为了满足这条路径的要求,不得不放弃其他路径。或者根本没办法保证这个默认的约束。总之最终造成...

Arist. 5506

JAVA字节流读取文本及出现乱码原因

一.字节流 单个字节读取 public static void main(String[] args) { try { FileInputStream in = new FileInputStream("D:\\bf\\Desktop\\test.txt");//字节流 int data = in.read(); while(data != -1){ System...

qq_38227085的博客 2706

免杀思路总结

免杀思路总结 1.免杀技术简介 1.免杀的重要性 2.免杀的难度 3.杀毒软件的排行 国外 国内 1 、Bitdefender 1、360 2 、Norton 360 2、智量安全(没测过,据说很厉害) 3 、Kaspersky 3、火绒安全 4 、Webroot 4、金山独霸 5 、Trend Micro 5

LiBai'S BLOG 1万+

详解字节输入流InputStream

(一)InputStream:字节输入流 java.io.InputStream:字节输入流 此抽象类是表示字节输入流的所有类的超类 定义了所有子类共性的方法 int read()从输入流中读取数据的下一个字节。 int read(byte[] b)从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中。 void close() 关闭此输入流并释放与该流关联的所有系统资源。 1.1 FileInputStream:文件字节输入流 java.io.FileInputStream exten

weiyoo55的博客 2万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

字节输入流 使用for循环和while循环来得到文件中的数据

字节输入流 使用for循环和while循环来得到文件中的数据 while循环方法: public static void getWhile(FileInputStream fileInputStream) throws IOException { byte[] bytes = new byte[1024];//设定缓冲区大小 int len = 0; while ((len = fileInputStream.read(bytes)) != -1) {//判断fileInputStr

klnsGenesis的博客 1151

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

字节输入流【InputStream】读取字节数据

java.io.InputStream:字节输入流 此抽象类是表示字节输入流的所有类的超类 定义了所有子类共性的方法: int read()从输入流中读取数据的下一个字节 in read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中 void close() 关闭此输入流并释放与该流关联的所有系统资源 java.io.FileInputStream extends InputStream FileInputStream:文件字节输入流 作用:把硬盘文

weixin_44664432的博客 4996

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Java中字节 输入流一次读取多个字节代码实现和原理-图文分析

字节输入流一次读取多个字节的方法 int read​(byte[] b) 从该输入流读取最多 b.length个字节的数据到一个字节数组 明确两件事情: 1、方法的参数byte[] 的作用 起到缓冲作用,存储每次读取到的多个字节 数组的长度定义为1024(1kb)或者是1024的整数倍 2、方法的返回值int是什么? 每次读取的有效字节个数 String类的...

崔凯洋的博客 1446

使用java字节输入流读取文件

使用java读取文件 String(byte[]bytes, intoffset, intlength) 通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io...

一起coding,一起嗨。 3045

30《字节输入流读取方法》-FileInputStream

知识点: java.io.InputStream:字节输入流,此抽象类表示字节输入流的所有类的超类 定一个子类的共性方法: public void close() 关闭此输入流并释放与此流相关联的任何系统资源 public abstract int read()从输入流读取数据的下一个字节 public int read(byte[] b)从输入流中读取一些字节,并将他们存储到字节数组b中 FileInputStream():文件字节输入流 作用:把硬盘文件的数据,读取到内存中使用 构造方法: Fil.

dengfengling999的博客 2677

Java输入流read()和readline()方法对比分析【实例讲解】

目录 read()方法读取输入流 Readline()方法读取输入流 Hello!大家好哇,我是灰小猿,一个超会写bug的程序猿, 最近一直在做项目的开发,所以很少有时间来打理博客,今天抽出一点时间来对我在开发中遇到的一些小问题和大家分享一下, 在做使用TCP/IP协议进行网络通信时,遇到这样一个问题,就是在同一个局域网中,我作为客户端,以另一台电脑作为服务器进行通信时发现,两者之间可以建立C/S连接,但是对于服务器发送过来的数据,我这边以read()方法来读取字符的输入流的长度时却显示读取失败,

累计发表博客60余万字,优快云 博客专家、Java 领域优质创作者、华为云享专家、阿里云专家博主。专注分享 Java 优质文章,毕设实战项目开发,全网粉丝10W+ 1万+

【JavaSE专栏74】字节输入流InputStream,用于从输入源读取字节数据的流

本文讲解了 Java 中 字节输入流 InputStream,介绍了 InputStream 类的应用场景,并给出了样例代码,Java 字节输入流是用于从输入源读取字节数据的流,它以字节为单位进行读取操作,并提供了多种方法来读取不同类型的数据。

Designer 小郑的技术博客 3385

字节输入流一次读取多个字节的方法

package com.itheima.demo02.InputStream; import java.io.FileInputStream; import java.io.IOException; /* 字节输入流一次读取多个字节的方法: int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。 明确两件事情: 1.方法的参数byte[]的作用? 起到...

Mr.田的博客 1402

java中使用字节输入流读取中文数据中文乱码问题解决方案

很多初学者在学到字节输入流时都有一个疑惑,当使用字节输入流(FileInputStream)读取数字字母时会正常读取,而读取中文数据时会出现中文乱码的情况,是不是读取中文数据非得使用字符输入流来读取呢?其实字节输入流一样是可以读取中文数据的。 看你使用的是什么开发工具,idea的话是默认使用utf-8编码的,使用eclipse的小伙伴需要手动改成utf-8,具体怎么改这里不介绍了。 首先应该明确两点:utf-8编码1个中文占3个字节,gbk编码1个中文占2个字节 所以当我们读取中文数据采用的是一次读取一个字

weixin_43266529的博客 7829

字节输入流一次读取一个/多个字节的原理

可以画图表示

weixin_44664432的博客 963

Java字节输入流的读方法(两种read方法)

在java的io编程中,读取文件是分为两个步骤的 1.将文件中的数据转换为流对象 2.读取流对象的数据 具体步骤 1.创建流对象 2.读取流对象内部的数据 3.关闭流对象 以下是具体代码,包含注释 public static void main(String[] args) throws IOException { int index; byte[] bytes = new byte[100];//数组长度为100 FileInputStream fis=new FileInputSt

qq_37693957的博客 7251

字节输入流InputStream

字节输入流(InputStream) java.io.InputStream抽象类是表示字节输入流的所有类的超类,注意该类是个抽象类 子类共性的成员方法 1、public void close()方法 作用:关闭输入流并释放与该流有关的所有系统资源 2、public int read()方法 作用:一次读一次字节,读完指针后移一位,读取到末尾返回-1 3、public int read(byte[ ] b)方法 作用:从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中 参数的作用是什么? 起到了缓冲

技术积累,技术分享 915
上一篇: Java中字节输入流InputStream类概述 属于字节流字符流的知识
下一篇: Java中字节输入流一次读取一个字节的原理--图文分析
崔凯洋
博客等级 码龄6年 26粉丝 132原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值