【Java I/O 流】字节输入输出流:InputStream & OutputStream

简介: 本篇介绍字节输入输出流,它们是所有字节流的超类,提供了一些常用方法,我们一起看一下。

在这里插入图片描述

❤️ 个人主页:水滴技术
🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬
🌸 订阅专栏:Java 教程:从入门到精通

大家好,我是水滴~~

本篇介绍字节输入输出流,它们是所有字节流的超类,提供了一些常用方法,我们一起看一下。

InputStream(字节输入流)

java.io.InputStream 是所有字节输入流的超类。需要该类的子类必须实现读取下一个字节的方法。

常用方法

abstract int read()

该方法从输入流读取数据的下一个字节。将读取的字节以 int 型返回,如果读取至末尾,则返回值 -1 。另外,该方法是一个抽象方法,要求子类必须实现此方法。

int read(byte b[])

从输入流中读取多个字节,并将它们存储至缓冲区 b 中。读取的字节数最多等于 b 的长度,也可以读取比 b 长度小的字节数。返回值为实际读取的字节数,如果没有可读取的字节,则返回值 -1。

int read(byte b[], int off, int len)

从输入流中读取 len 个字节,并从缓存区 boff 下标处开始存储(即读取的第一个字节存入缓 b[off] 中,下一个字节存入 b[off + 1] 中...)。同样返回值为实际读取的字节数,如果没有可读取的字节,则返回值 -1。

int available()

返回该输入流中可读取的有效字节数。

void close()

关闭该输入流,并释放与之相关的所有系统资源。

OutputStream(字节输出流)

java.io.OutputStream 是所有字节输出流的超类。需要该类的子类必须实现向输出流写入一个字节的方法。

常用方法

abstract void write(int b)

向输出流中写入一个字节。该方法是一个抽象方法,要求子类必须实现此方法。

void write(byte b[])

向输出流中写入多个字节。该方法将缓存区 b 中的字节写入到输出流中。

void write(byte b[], int off, int len)

向输出流中写入多个字节,从缓存区 boff 下标处开始写入 len 个字节。

void flush()

刷新该输出流,强制将缓存区中的字节写出去。

void close()

关闭该输出流,并释放与之相关的所有资源。


专题文章

相关文章
|
19天前
|
算法 Java Linux
java制作海报四:java BufferedImage 转 InputStream 上传至OSS。png 图片合成到模板(另一个图片)上时,透明部分变成了黑色
这篇文章主要介绍了如何将Java中的BufferedImage对象转换为InputStream以上传至OSS,并解决了png图片合成时透明部分变黑的问题。
42 1
|
3月前
|
Java
Java系列之 字符串和字节互转
这篇文章是关于Java中字符串和字节之间互转的方法,包括使用`getBytes()`方法将字符串转换为字节数组,以及使用String构造方法将字节数组转换回字符串。
|
4月前
|
存储 缓存 Oracle
可能是最漂亮的Java I/O流详解
大家有什么思路吗?评论区一起讨论讨论。我需要使用 Java 逐行读取大约 5-6 GB 的大型文本文件。我怎样才能快速完成此操作?最高赞的回答是叫Peter Lawrey的老哥回答的。大家好,我是南哥。一个Java学习与进阶的领路人,今天指南的是Java I/O流,跟着南哥我们一起在Java之路上成长。本文收录在我开源的《Java学习进阶指南》中,涵盖了想要学习Java、成为更好的Java选手都在偷偷看的核心知识、面试重点。
120 1
可能是最漂亮的Java I/O流详解
|
3月前
|
缓存 Java 数据处理
|
4月前
|
Java Linux
Java演进问题之1:1线程模型对于I/O密集型任务如何解决
Java演进问题之1:1线程模型对于I/O密集型任务如何解决
|
4月前
|
Java API 开发者
Java中的文件I/O操作详解
Java中的文件I/O操作详解
|
4月前
|
分布式计算 Java 调度
MaxCompute产品使用合集之使用Tunnel Java SDK上传BINARY数据类型时,应该使用什么作为数据类字节
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4月前
|
Java 数据库
Java面试题:请解释Java中的输入输出(I/O)流?详细说明应用场景
Java面试题:请解释Java中的输入输出(I/O)流?详细说明应用场景
31 0
|
4月前
|
Java API 开发者
Java中不同I/O操作的性能比较
Java中不同I/O操作的性能比较
Java InputStream从文件读取示例
本文目录 1. 知识点 2. 代码示例 3. 运行结果
372 0
Java InputStream从文件读取示例