Java中OutputStream使用

Java中OutputStream使用

1. void write(int b)

java 复制代码
outputStream.write(65); // 写入字节 'A'

write(int b)方法将指定的字节写入输出流。参数 b 是一个整数,表示要写入的字节数据。实际写入的是 b 的最低8位。这个方法通常用于写入单个字节的数据。

示例用途: 将单个字节数据写入到输出流中。

java 复制代码
OutputStream outputStream = new FileOutputStream("output.txt");
outputStream.write(65); // 写入字节 'A'
outputStream.close();

2. void write(byte[] b)

java 复制代码
byte[] data = "Hello, world!".getBytes();
outputStream.write(data); // 写入字节数组

write(byte[] b)方法将字节数组 b 中的所有字节写入输出流。这个方法通常用于批量写入数据。

示例用途: 将整个字节数组的数据写入到输出流中。

java 复制代码
OutputStream outputStream = new FileOutputStream("output.txt");
byte[] data = "Hello, world!".getBytes();
outputStream.write(data); // 写入字节数组的数据
outputStream.close();

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

java 复制代码
byte[] data = "Hello, world!".getBytes();
outputStream.write(data, 0, 5); // 写入字节数组的前5个字节

write(byte[] b, int off, int len)方法将字节数组 b 中从偏移量 off 开始的 len 个字节写入输出流。这个方法允许您指定要写入的数据片段。

示例用途: 写入字节数组的部分数据到输出流中。

java 复制代码
OutputStream outputStream = new FileOutputStream("output.txt");
byte[] data = "Hello, world!".getBytes();
outputStream.write(data, 0, 5); // 写入 "Hello" 的前5个字节
outputStream.close();

4. void flush()

java 复制代码
outputStream.flush();

flush()方法强制将缓冲区中的数据输出到目的地。通常,输出流会在缓冲区填满或关闭时自动刷新,但有时需要手动调用此方法确保数据立即写入目的地。

示例用途: 在写入一部分数据后,确保数据被立即写入到输出流中。

java 复制代码
OutputStream outputStream = new FileOutputStream("output.txt");
outputStream.write(65); // 写入字节 'A'
outputStream.flush(); // 确保 'A' 立即写入到文件中
outputStream.close();

5. void close()

java 复制代码
outputStream.close();

close()方法关闭输出流并释放与之关联的任何系统资源。在使用完输出流后调用此方法是非常重要的,以确保所有数据都已写入目的地并释放相关资源。

示例用途: 在完成数据写入后关闭输出流。

java 复制代码
OutputStream outputStream = new FileOutputStream("output.txt");
outputStream.write("Hello, world!".getBytes());
outputStream.close(); // 关闭输出流
相关推荐
PyAIGCMaster1 分钟前
ubuntu装P104驱动
linux·运维·ubuntu
奈何不吃鱼1 分钟前
【Linux】ubuntu依赖安装的各种问题汇总
linux·运维·服务器
icy、泡芙3 分钟前
T527-----音频调试
linux·驱动开发·音视频
aherhuo7 分钟前
kubevirt网络
linux·云原生·容器·kubernetes
zzzhpzhpzzz15 分钟前
Ubuntu如何查看硬件型号
linux·运维·ubuntu
张国荣家的弟弟17 分钟前
【Yonghong 企业日常问题 06】上传的文件不在白名单,修改allow.jar.digest属性添加允许上传的文件SH256值?
java·jar·bi
蜜獾云17 分钟前
linux firewalld 命令详解
linux·运维·服务器·网络·windows·网络安全·firewalld
ZSYP-S28 分钟前
Day 15:Spring 框架基础
java·开发语言·数据结构·后端·spring
yuanbenshidiaos35 分钟前
C++----------函数的调用机制
java·c++·算法
唐叔在学习39 分钟前
【唐叔学算法】第21天:超越比较-计数排序、桶排序与基数排序的Java实践及性能剖析
数据结构·算法·排序算法