Java IO 解析

Java中的IO类用于处理输入输出操作。输入操作可以从文件、网络连接、标准输入等多种来源获取数据,输出操作可以将数据输出到文件、网络连接、标准输出等多种目的地。下面介绍几个常用的Java IO类:

InputStream/OutputStream:这是Java IO类中最基本的抽象类,用于读取或写入字节数据。所有的输入流和输出流都继承自这个类。

FileInputStream/FileOutputStream:这两个类用于读取或写入文件中的数据。FileInputStream将文件的内容作为输入流返回,而FileOutputStream将输出流的数据写入到文件中。

BufferedInputStream/BufferedOutputStream:这两个类对输入输出流进行了缓存,可以提高读写效率。

Reader/Writer:这是Java IO类中用于读取或写入字符数据的抽象类。所有的字符输入流和字符输出流都继承自这个类。

FileReader/FileWriter:这两个类用于读取或写入文件中的字符数据。FileReader将文件的内容作为字符输入流返回,而FileWriter将字符输出流的数据写入到文件中。

BufferedReader/BufferedWriter:这两个类对字符输入输出流进行了缓存,可以提高读写效率。

ByteArrayInputStream/ByteArrayOutputStream:这两个类用于读取或写入字节数组中的数据。

CharArrayReader/CharArrayWriter:这两个类用于读取或写入字符数组中的数据。

DataInputStream/DataOutputStream:这两个类用于读取或写入基本数据类型的数据。

ObjectInputStream/ObjectOutputStream:这两个类用于读取或写入Java对象。

以上是一些常用的Java IO类,它们可以满足我们大多数的输入输出需求。在使用这些类时需要注意,要在使用完毕后关闭流以释放资源

下面是Java IO类的一个使用样例,示范了如何使用FileInputStream和FileOutputStream类读取和写入文件:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class IOExample {
  public static void main(String[] args) {
    // 读取文件内容并输出到控制台
    try (FileInputStream inputStream = new FileInputStream("input.txt")) {
      int data;
      while ((data = inputStream.read()) != -1) {
        System.out.print((char) data);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }

    // 写入字符串到文件中
    try (FileOutputStream outputStream = new FileOutputStream("output.txt")) {
      String content = "Hello, world!";
      byte[] data = content.getBytes();
      outputStream.write(data);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

该程序首先使用FileInputStream读取了一个名为"input.txt"的文件,并将文件中的内容输出到控制台。接着,使用FileOutputStream将字符串"Hello, world!"写入到一个名为"output.txt"的文件中。这里使用了Java 7引入的"try-with-resources"语法糖,这样可以确保在程序退出时流会被正确关闭,从而避免资源泄露的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值