21xrx.com
2024-12-23 06:35:16 Monday
登录
文章检索 我的文章 写文章
Java中的输入输出流详解及案例分析
2023-06-14 22:30:50 深夜i     --     --

Java中的输入输出流是实现文件读写的重要组成部分,特别是在与外部数据源交互时尤为重要。本文将深入探讨Java中输入输出流的相关概念,并结合代码案例进行分析。

一、Java中的输入输出流概念

1. 输入流:从外部数据源读取数据的流。例如,从文件读取数据时需要使用输入流。

2. 输出流:将数据写入外部数据源的流。例如,将数据写入文件时需要使用输出流。

3. 字节流:以字节为单位操作数据的流。例如,将二进制数据写入文件时需要使用字节流。

4. 字符流:以字符为单位操作数据的流。例如,将文本数据写入文件时需要使用字符流。

二、Java中输入输出流的使用

在Java中,我们可以使用FileInputStream和FileOutputStream类来操作文件输入输出流。以下是文件读取的例子:


import java.io.FileInputStream;

import java.io.IOException;

public class ReadFileExample {

  public static void main(String[] args) {

    try {

      FileInputStream fis = new FileInputStream("test.txt");

      int i = 0;

      while ((i = fis.read()) != -1) {

        System.out.print((char) i);

      }

      fis.close();

    } catch (IOException e) {

      e.printStackTrace();

    }

  }

}

以上代码使用FileInputStream类读取test.txt文件内容并将其输出到控制台。FileInputStream类按字节读取文件内容,并返回整数型数据,需要将其转换为字符型数据。在循环读取时,如果返回的整数值为-1,表示已经读取到文件结尾。

以下是文件写入的例子:


import java.io.FileOutputStream;

import java.io.IOException;

public class WriteFileExample {

  public static void main(String[] args) {

    try {

      FileOutputStream fos = new FileOutputStream("test.txt");

      String data = "Hello World!";

      byte[] arr = data.getBytes();

      fos.write(arr);

      fos.flush();

      fos.close();

    } catch (IOException e) {

      e.printStackTrace();

    }

  }

}

以上代码使用FileOutputStream类将字符串“Hello World!”写入到test.txt文件中。在写入时,我们需要将字符串转换为字节数组,然后使用FileOutputStream类的write方法进行写入,最后使用flush方法和close方法刷新缓存并关闭输出流。

三、Java中输入输出流的三个关键词

1. InputStream:用于读取任何类型的源数据的输入流抽象类。

2. OutputStream:用于写入或输出任何类型数据的抽象类。

3. byte[]:字节数组,常用于Java中读取、写入二进制文件。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复