Java 编程之IO流资料详细整理

Java 编程之IO流资料详细整理

什么是 IO 流

输入输出流(IO流)指的是一种提供了对数据流进行读写的机制,是 Java 中用于处理流数据的一种常用方式。在 Java 中,IO 流分为字节流和字符流两种方式,分别处理二进制数据和文本数据。

IO 流的分类

字节流

字节流是 IO 流中最基本的一种,主要用于处理二进制数据。Java 中的字节流有两个基本的抽象类:InputStream 和 OutputStream,它们是用来表示字节输入流和字节输出流的。

输入流

InputStream可以读取字节数组和字节数组的某一部分数据,也可以读取单个字节、整数、字符串等。常用的实现类有:

类名 说明
FileInputStream 读取本地文件
ByteArrayInputStream 读取字节数组
FilterInputStream 过滤输入流的抽象类
BufferedInputStream 带缓冲的字节输入流
DataInputStream 读取基本数据类型

以下是读取本地文件示例:

try {
    FileInputStream fis = new FileInputStream("test.txt");
    int data;
    while ((data = fis.read()) != -1) {
        System.out.println((char) data);
    }
    fis.close();
} catch (IOException e) {
    e.printStackTrace();
}

输出流

OutputStream 可以写入字节数组、单个字节、整数、字符串等。常用的实现类有:

类名 说明
FileOutputStream 写入本地文件
ByteArrayOutputStream 写入字节数组
FilterOutputStream 过滤输出流的抽象类
BufferedOutputStream 带缓冲的字节输出流
DataOutputStream 写入基本数据类型

以下是写入本地文件示例:

try {
    FileOutputStream fos = new FileOutputStream("test.txt");
    String str = "hello world";
    for (int i = 0; i < str.length(); i++) {
        fos.write(str.charAt(i));
    }
    fos.close();
} catch (IOException e) {
    e.printStackTrace();
}

字符流

字符流是用于读写文本信息的一种 IO 流类型,其本质还是字节流,只不过它将字节流转成字符流以方便读写文本数据,Java 中的字符流都继承自 Reader 和 Writer。

输入流

Reader 可以读取字符数组和字符数组的某一部分数据,也可以读取单个字符、字符串等。常用的实现类有:

类名 说明
FileReader 读取本地文件
CharArrayReader 读取字符数组
FilterReader 过滤输入流的抽象类
BufferedReader 带缓冲的字符输入流
InputStreamReader 读取字节流转换为字符流
StringReader 读取字符串

以下是读取本地文件示例:

try {
    FileReader fr = new FileReader("test.txt");
    int data;
    while ((data = fr.read()) != -1) {
        System.out.println((char) data);
    }
    fr.close();
} catch (IOException e) {
    e.printStackTrace();
}

输出流

Writer 可以写入字符数组、单个字符、字符串等。常用的实现类有:

类名 说明
FileWriter 写入本地文件
CharArrayWriter 写入字符数组
FilterWriter 过滤输出流的抽象类
BufferedWriter 带缓冲的字符输出流
OutputStreamWriter 写入字符流转换为字节流
StringWriter 写入字符串

以下是写入本地文件示例:

try {
    FileWriter fw = new FileWriter("test.txt");
    String str = "hello world";
    for (int i = 0; i < str.length(); i++) {
        fw.write(str.charAt(i));
    }
    fw.close();
} catch (IOException e) {
    e.printStackTrace();
}

总结

IO 流作为 Java 中常用的流处理方式,在实际开发中经常需要使用到。开发者需要理解 IO 流的基本概念、分类、常用的实现类以及不同实现类的应用场景,才能灵活运用 IO 流处理复杂的文件读写操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 编程之IO流资料详细整理 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • Java I/O流之打印流详细使用方法教程

    下面就为您详细讲解 Java I/O 流之打印流的详细使用方法教程。 简介 Java 提供了多种 I/O 流来处理输入输出操作,其中打印流(PrintStream 和 PrintWriter)可以方便地格式化输出文本。本文将着重介绍打印流的使用方法。 打印流的创建 创建打印流对象的方式与创建其他 I/O 流类似,通常需要指定输出目标。以下是创建打印流对象的两…

    Java 2023年5月26日
    00
  • Java 如何抛出自定义的异常?

    Java语言中,自定义异常可以通过继承Exception或者其子类RuntimeException实现。通过自定义异常,可以使得代码结构更加清晰,异常情况得到更加准确的处理。下面是Java如何抛出自定义异常的详细攻略。 继承Exception类实现自定义异常 首先,定义自定义异常类时,需要继承Exception类,如下所示: public class Cus…

    Java 2023年4月27日
    00
  • 常见的Java编程风格有哪些?

    常见的Java编程风格包括: 1. 代码规范 编写规范的代码可以提高代码的可读性,使代码更易于理解和维护。常见的Java代码规范包括: 使用有意义的变量名和方法名,遵循驼峰命名法; 使用适当的缩进和空格,使代码结构更清晰; 使用注释解释代码的作用和逻辑等,使代码更易于理解; 使用代码格式化工具,保持代码的统一风格。 示例: // 反面示例 int i, j,…

    Java 2023年5月11日
    00
  • JavaEE线程安全实现线程池方法

    JavaEE线程安全实现线程池方法 什么是线程池 线程池是一种可以重复利用线程的技术,它可以避免为每一个任务都创建一个新线程导致的性能开销,并且还可以设置线程数量上限,以防止并发访问资源过多而导致系统资源耗尽的问题。 在Java中,线程池是通过java.util.concurrent包来实现的。 线程池的种类 Java中的线程池主要有以下几种: FixedT…

    Java 2023年5月19日
    00
  • 详解java自定义类

    详解Java自定义类 在Java中,我们可以使用自定义类创建对象并使用。这些对象可以有自己的属性和方法。 创建一个Java自定义类 创建一个Java自定义类需要遵循以下步骤: 用 class 关键字定义类名。类名必须以大写字母开头,遵循驼峰命名法。 在类中定义属性。属性可以是任何数据类型,包括用户自定义类型。属性定义应该在方法之前。 在类中定义方法。方法是可…

    Java 2023年5月20日
    00
  • 详解java设计模式之六大原则

    详解Java设计模式之六大原则 在软件开发中,设计模式是一种解决特定问题的经验总结,它提供了一种通用的设计思路,可以使我们在编码时更加高效和准确地解决问题。Java设计模式是指在Java程序开发中应用的一种设计方式,它有六大原则,分别是: 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特原则 开闭原则 本文将详细讲解这六大原则。 单一职责原则 …

    Java 2023年5月26日
    00
  • java实现简单的小超市程序

    Java实现简单的小超市程序攻略 需求分析 在实现小超市程序之前,我们需要了解程序的需求。假设我们需要实现以下功能: 商品信息的录入和展示 商品的购买和结算 支持会员折扣和促销活动 设计思路 在了解需求之后,我们再来规划一下小超市程序的设计思路。 商品实体类 首先我们需要设计一个商品的实体类,包括商品名称、单价、库存、条形码等属性。 超市类 我们还需要设计一…

    Java 2023年5月18日
    00
  • 详解CentOS7.0安装与配置Tomcat-7

    下面是详解CentOS7.0安装与配置Tomcat-7的完整攻略: 安装Java 使用yum安装Java: sudo yum install java 验证Java是否安装成功: java -version 下载与安装Tomcat 下载Tomcat7: wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-7…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部