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(); // 关闭输出流
相关推荐
只想安静的写会代码21 小时前
centos/ubuntu/redhat配置清华源/本地源
linux·运维·服务器
susu10830189111 天前
ubuntu多块硬盘挂载到同一目录LVM方式
linux·运维·ubuntu
r***F2621 天前
【漏洞复现】CVE-2019-11043(PHP远程代码执行漏洞)信息安全论文_含漏洞复现完整过程_含Linux环境go语言编译环境安装
linux·golang·php
q***38511 天前
SpringCloud实战十三:Gateway之 Spring Cloud Gateway 动态路由
java·spring cloud·gateway
小白学大数据1 天前
Python爬虫伪装策略:如何模拟浏览器正常访问JSP站点
java·开发语言·爬虫·python
smaller_maple1 天前
linux问题记录1
linux·运维·服务器
一只侯子1 天前
Face AE Tuning
图像处理·笔记·学习·算法·计算机视觉
jianqiang.xue1 天前
别把 Scratch 当 “动画玩具”!图形化编程是算法思维的最佳启蒙
人工智能·算法·青少年编程·机器人·少儿编程
程序员西西1 天前
SpringBoot接口安全:APIKey保护指南
java·spring boot·计算机·程序员·编程·编程开发
不许哈哈哈1 天前
Python数据结构
数据结构·算法·排序算法