当前位置: 首页 > backend >正文

Java(io)字节流

字节流以 字节(8 位)为单位进行读写操作,是最基础的 IO 方式。它可以处理任何类型的数据(如图片、音频、视频、二进制文件等),因为所有数据在底层都是以字节形式存储的。

  • 核心类

    • 输入流InputStream(抽象基类),常用子类有FileInputStreamByteArrayInputStream等。
    • 输出流OutputStream(抽象基类),常用子类有FileOutputStreamByteArrayOutputStream等。
  • 特点

    • 通用性强:能处理所有类型的文件。
    • 无字符编码问题:直接操作字节,不涉及字符编码转换。
    • 效率较低:每次读写一个字节,适合处理小文件或二进制数据。
  1. 字节流的使用
    • FileInputStream:用于从文件读取字节数据。
    • FileOutputStream:用于向文件写入字节数据。
import java.io.*;public class ByteStreamExample {public static void main(String[] args) {// 定义源文件和目标文件的路径String sourceFile = "input.jpg";String targetFile = "output.jpg";// 使用try-with-resources语句自动关闭资源try (FileInputStream fis = new FileInputStream(sourceFile);FileOutputStream fos = new FileOutputStream(targetFile)) {// 创建一个缓冲区来提高读写效率byte[] buffer = new byte[1024];int bytesRead;// 从输入流读取数据到缓冲区,并写入输出流while ((bytesRead = fis.read(buffer)) != -1) {fos.write(buffer, 0, bytesRead);}System.out.println("文件复制成功!");} catch (IOException e) {System.out.println("文件操作出错: " + e.getMessage());}}
}

http://www.xdnf.cn/news/12318.html

相关文章:

  • Java应用10(客户端与服务器通信)
  • App使用webview套壳引入h5(一)—— webview和打开的h5进行通信传参
  • 为什么 SDXL 用两个文本编码器?
  • aiohttp异步爬虫实战:从零构建高性能图书数据采集系统(2025最新版)
  • 华为交换机vlan配置步骤
  • 【git】把本地更改提交远程新分支feature_g
  • Python 网络编程 -- WebSocket编程
  • Java线程安全集合类
  • NumPy 比较、掩码与布尔逻辑
  • [AI绘画]sd学习记录(一)软件安装以及文生图界面初识、提示词写法
  • rapidocr 3.0 在线demo来了
  • 时序预测模型测试总结
  • Langchain4j RAG和向量搜索(8)
  • Linux网桥实战手册:从基础配置到虚拟化网络深度优化
  • AdvancedLivePortrait V2版 - 一张照片生成生动任意表情图片/视频,支持50系显卡 本地一键整合包下载
  • Java多线程编程全面解析:从基础概念到实战应用
  • Abaqus的线弹性与塑性
  • 监测预警系统重塑隧道安全新范式
  • CSP-VP37th
  • 使用 OpenAI Moderation 实现内容审核
  • 看板中“进行中”任务过多如何优化
  • 深度学习题目1
  • CppCon 2015 学习:C++ Metaprogrammin
  • ECB(电子密码本,Electronic Codebook) 和 CBC(密码分组链接,Cipher Block Chaining)区分于用途
  • 合并表格(按行合并)
  • 黑马Java面试笔记之 并发编程篇(线程池+使用场景)
  • 软件项目管理(1) 项目管理概述
  • Excel数据分析:基础
  • Java-IO流之缓冲流详解
  • 【Maniskill】使用Ppo的官方基线训练时出现指标突然“塌陷”的现象