当前位置: 首页 > 图灵资讯 > 技术篇> java 输出输入流

java 输出输入流

来源:图灵教育
时间:2023-08-06 09:44:34

Java 实现输入输出流程概述

在Java中,输入输出流可分为以下步骤:

  1. 打开输入输出流
  2. 读取或写入数据
  3. 关闭输入输出流

下面将详细介绍每个步骤的具体操作。

1. 打开输入输出流

要使用Java的输入输出流,首先需要创建相应的输入输出流对象。字节流或字符流可根据需要选择,其中字节流适用于处理二进制数据,而字节流适用于处理文本数据。

打开输入流

使用字节流读取文件内容的示例代码如下:

import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;public class InputStreamExample {    public static void main(String[] args) {        InputStream input = null;                try {            // 创建文件输入流            input = new FileInputStream("input.txt");                        // 读取数据            int data = input.read();            while (data != -1) {                // 处理数据                                // 继续读下一个字节                data = input.read();            }        } catch (IOException e) {            e.printStackTrace();        } finally {            // 关闭输入流            if (input != null) {                try {                    input.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }}

在上述代码示例中,首先创建了一个 FileInputStream 对象,并将要读取的文件名引入参数。然后使用它 read() 该方法读取文件的字节数据,直到文件结束(返回值为) -1)。读取的数据可以在循环中处理。最后,通过 close() 关闭输入流的方法。

打开输出流

用字节流写入文件内容的示例代码如下:

import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;public class OutputStreamExample {    public static void main(String[] args) {        OutputStream output = null;                try {            // 创建文件输出流            output = new FileOutputStream("output.txt");                        // 写入数据            byte[] data = "Hello, world!".getBytes();            output.write(data);        } catch (IOException e) {            e.printStackTrace();        } finally {            // 关闭输出流            if (output != null) {                try {                    output.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }}

在上述代码示例中,首先创建了一个 FileOutputStream 对象,并将要写入的文件名作为参数。然后使用它 write() 将字节数据写入文件的方法。最后,通过 close() 关闭输出流的方法。

2. 读取或写入数据

打开输入输出流后,可以通过相应的方法读取或写入数据。

读取数据

使用字符流读取文件内容的示例代码如下:

import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class BufferedReaderExample {    public static void main(String[] args) {        BufferedReader reader = null;                try {            // 读取流创建文件            reader = new BufferedReader(new FileReader("input.txt"));                        // 读取数据            String line = reader.readLine();            while (line != null) {                // 处理数据                                // 继续读下一行                line = reader.readLine();            }        } catch (IOException e) {            e.printStackTrace();        } finally {            // 关闭读取流            if (reader != null) {                try {                    reader.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }}

在上述代码示例中,首先创建了一个 BufferedReader 对象,并将其包装在内 FileReader 中。然后使用 readLine() 该方法逐行读取文件内容,直至读取到文件末尾(返回值为) null)。读取的数据可以在循环中处理。最后,通过 close() 关闭读取流的方法。

写入数据

用字符流写入文件内容的示例代码如下:

import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;public class BufferedWriterExample {    public static void main(String[] args) {        BufferedWriter writer = null;                try {            // 在流中写入创建文件            writer = new BufferedWriter(new FileWriter("output.txt"));                        // 写入数据            writer.write("Hello, world!");        } catch (IOException e) {            e.printStackTrace();        } finally