java教程——InputStream(经典蓝牙实战)

返回值:返回读取到的当前字节数据对应的Ascall码 -1表示没有数据可读

InputStream.available()

作用:查看当前输入流中还存在多少可读数据,read()一次就要少一个

参数:无

返回值:当前输入流中可读数据字节长度 0表示没有啦

下面我们进入代码演示

package test;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

public class changeData {

private static InputStream mIn;

public static void main(String[] args) {

try {

//第一步,获取文件输入流 FileInputStream 是 InputStream 的子类

mIn = new FileInputStream(“src/test.txt”);

for (;😉{//循环读取数据

//第二步:一个字节一个字节的读

int n = mIn.read();

//第三步:数据读完后 n值为-1 跳出循环

if (n == -1) break;

//打印日志 观察结果

System.out.println(“读到的数据是 ->” + n + " 剩余数据字节长度 ->" + mIn.available());

}

} catch (Exception e) {

e.printStackTrace();

}finally {

try {

//关闭 输入流 避免不必要的资源开销

mIn.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

test.txt文本内容及打印结果

缓冲

爱思考的同学肯定已经想到了,一个字节一个字节的读,读取速度很慢,所以下面我们讲一下 read()的两种重载方法。

InputStream.read(byte[] b):

作用:根据参数b的大小来读取数据

参数一:读取若干字节并填充到byte[]数组,

返回值:读取的字节数 返回 -1 表示没数据可读了

InputStream.read(byte[] b, int off, int len):

作用:根据参数b的大小来读取数据

参数一:偏移量 , 这个偏移量是对数组b来说的 即从数组b的第几个位置开始装数据

参数二:最大填充数 , 这个参数也是针对数组b来说的 即一口气装多少 , 也就是不管 b数组有多大,偏移量和最大填充数已经决定了 怎么装,装多少

返回值:读取的字节数 返回 -1 表示没数据可读了

package test;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

public class changeData {

private static InputStream mIn;

public static void main(String[] args) {

try {

//规定缓冲区大小

byte[] buffer = new byte[4];

//第一步,获取文件输入流 FileInputStream 是 InputStream 的子类

mIn = new FileInputStream(“src/test.txt”);

for (;😉{//循环读取数据

//第二步,转入buffer中 从1号位置开始装,一口气装3个数据

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

面试结束复盘查漏补缺

每次面试都是检验自己知识与技术实力的一次机会,面试结束后建议大家及时总结复盘,查漏补缺,然后有针对性地进行学习,既能提高下一场面试的成功概率,还能增加自己的技术知识栈储备,可谓是一举两得。

以下最新总结的阿里P6资深Java必考题范围和答案,包含最全MySQL、Redis、Java并发编程等等面试题和答案,用于参考~

重要的事说三遍,关注+关注+关注!

历经30天,说说我的支付宝4面+美团4面+拼多多四面,侥幸全获Offer

image.png

更多笔记分享

历经30天,说说我的支付宝4面+美团4面+拼多多四面,侥幸全获Offer

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
)]

[外链图片转存中…(img-8VBYPeOF-1712128265475)]

更多笔记分享

[外链图片转存中…(img-m7C4vVIW-1712128265475)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值