Java IO流详解

ops/2025/3/18 10:58:00/

目录

    • 一、Java IO流基础
      • (一)字节流
        • 常见字节流类
      • (二)字符流
        • 常见字符流类
    • 二、字节流操作示例
      • (一)读取文件
      • (二)写入文件
      • (三)带缓冲功能的字节流
    • 三、字符流操作示例
      • (一)读取文件
      • (二)写入文件
      • (三)带缓冲功能的字符流
    • 四、总结

一、Java IO流基础

Java IO流用于处理设备之间的数据传输,主要包括字节流和字符流两大类。字节流以字节为单位进行数据传输,适用于处理二进制数据;字符流以字符为单位进行传输,适用于处理文本数据。

(一)字节流

字节流是Java IO流的基础,主要包括InputStreamOutputStream两个抽象类。InputStream用于从源读取字节,OutputStream用于将字节写入目标。

常见字节流类
  • FileInputStream:从文件中读取字节。
  • FileOutputStream:将字节写入文件。
  • BufferedInputStream:带缓冲功能的输入流,提高读取效率。
  • BufferedOutputStream:带缓冲功能的输出流,提高写入效率。

(二)字符流

字符流在字节流的基础上增加了字符集转换功能,主要包括ReaderWriter两个抽象类。Reader用于读取字符数据,Writer用于写入字符数据。

常见字符流类
  • FileReader:从文件中读取字符。
  • FileWriter:将字符写入文件。
  • BufferedReader:带缓冲功能的字符输入流。
  • BufferedWriter:带缓冲功能的字符输出流。

二、字节流操作示例

(一)读取文件

java">import java.io.FileInputStream;
import java.io.IOException;public class FileInputStreamExample {public static void main(String[] args) {try (FileInputStream fis = new FileInputStream("example.txt")) {int data;while ((data = fis.read()) != -1) {System.out.print((char) data);}} catch (IOException e) {e.printStackTrace();}

http://www.ppmy.cn/ops/166746.html

相关文章

【模拟面试】计算机考研复试集训(第七天)

文章目录 前言一、专业面试1、如何实现一个单链表的反转?请描述具体步骤并说明时间复杂度。2、TCP三次握手的目的是什么?如果第三次握手丢失,客户端和服务端会如何处理?3、什么是操作系统的页面置换算法?请对比 LRU 和…

AMBA-CHI协议详解(二十二)

AMBA-CHI协议详解(一)- Introduction AMBA-CHI协议详解(二)- Channel fields / Read transactions AMBA-CHI协议详解(三)- Write transactions AMBA-CHI协议详解(四)- Other transac…

DeepSeek重构产业生态:餐饮、金融与短视频的智能跃迁

引言:智能时代的产业共振 在数字技术浪潮席卷全球的当下,DeepSeek作为人工智能领域的重要参与者,正以其强大的算法能力和多模态交互特性,深度渗透至餐饮、金融、短视频等民生关键领域。从长江之畔的烟火气到陆家嘴的金融脉搏&…

Umi-OCR 全家桶

介绍: 下载 访问官网地址 https://github.com/hiroi-sora/umi-ocrhttps://github.com/hiroi-sora/umi-ocr 点击下载(.exe 文件 安装即可) 桌面使用 安装完毕后去安装路径下点击 Umi-OCR.exe (默认不会生成桌面的快捷方式&…

【机器人-基础知识】标定 - 相机内参求解原理(单应性矩阵、内参约束方程)

1. 求解目标:内参 从世界坐标系到像素坐标系的齐次坐标形式: s [ u v 1 ] K [ R t ] [ X w Y w Z w 1 ] s \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} K \, [\, R \quad t \,] \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix} s ​uv1​ ​K…

驾驭 DeepSeek 科技之翼,翱翔现代学习新天际

在当今这个信息爆炸的时代,学习的方式和途径正在经历着前所未有的变革。人工智能技术的飞速发展,为我们的学习带来了全新的机遇和挑战。DeepSeek 作为一款强大的大语言模型,凭借其卓越的性能和丰富的功能,为现代学习注入了新的活力…

Unix时间戳BKP备份寄存器RTC实时时钟

Unix时间戳 Unix时间戳,也称为POSIX时间或Epoch时间,是一种在Unix和类Unix操作系统中使用的时间表示方法。它表示的是自1970年1月1日00:00:00 UTC(协调世界时)至当前时间经过的秒数,不考虑闰秒。Unix时间戳通常以秒为…

JVM常用概念之信任非静态final字段

问题 JVM可以信任非静态的final字段吗? 基础知识 编译器通常信任static final字段,因为已知该值不依赖于特定对象,并且已知它不会改变。那对于静态常量实例的final字段也使如此吗? class M {final int x;M(int x) { this.x x; } }static final M …