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(); // 关闭输出流
相关推荐
我只会发热4 分钟前
Ubuntu 20.04.6 根目录扩容(图文详解)
linux·运维·ubuntu
爱潜水的小L16 分钟前
自学嵌入式day34,ipc进程间通信
linux·运维·服务器
保持低旋律节奏18 分钟前
linux——进程状态
android·linux·php
Swizard20 分钟前
别再只会算直线距离了!用“马氏距离”揪出那个伪装的数据“卧底”
python·算法·ai
cat三三21 分钟前
java之异常
java·开发语言
浙江第二深情26 分钟前
前端性能优化终极指南
java·maven
zhuzewennamoamtf26 分钟前
Linux I2C设备驱动
linux·运维·服务器
flashlight_hi40 分钟前
LeetCode 分类刷题:199. 二叉树的右视图
javascript·算法·leetcode
养乐多072242 分钟前
【Java】IO流
java
俊男无期42 分钟前
超效率工作法
java·前端·数据库