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(); // 关闭输出流
相关推荐
SimonKing2 分钟前
多数据源:CSV、内存对象可以通过SQL查询,甚至联查,你敢信!
java·后端·程序员
Purple Coder3 分钟前
基于GNN的超导材料生长方法研究算法的实现-1
算法
tod1135 分钟前
C++ 核心知识点全解析(六)
c++·算法·面试经验
紫陌涵光7 分钟前
701. 二叉搜索树中的插入操作
算法·leetcode
毕设源码-钟学长7 分钟前
【开题答辩全过程】以 高校疫情管理系统为例,包含答辩的问题和答案
java
tankeven9 分钟前
HJ100 等差数列
c++·算法
waves浪游10 分钟前
库制作与原理(上)
linux·运维·服务器·开发语言·c++
ADDDDDD_Trouvaille10 分钟前
2026.2.22——OJ98-100题
c++·算法
wefg111 分钟前
【Linux】进程地址空间的内核空间
linux·运维·服务器