欢迎访问宙启技术站
智能推送

Java中的输入输出流函数使用

发布时间:2023-07-04 22:53:50

在Java中,输入输出流是用于从文件、网络或其他设备中读取数据或向这些设备中写入数据的机制。Java提供了丰富的输入输出流类和函数,以下是常用的输入输出流函数的使用方法:

1. 字节流函数:

a. FileInputStream和FileOutputStream:用于从文件中读取字节和向文件中写入字节。

b. BufferedInputStream和BufferedOutputStream:用于提供带缓冲的读取和写入字节数据,提高性能。

c. DataInputStream和DataOutputStream:用于读写基本数据类型的值(如int、float、double等)。

d. ByteArrayInputStream和ByteArrayOutputStream:用于从内存中读取字节和向内存中写入字节。

2. 字符流函数:

a. FileReader和FileWriter:用于从文件中读取字符和向文件中写入字符。

b. BufferedReader和BufferedWriter:用于提供带缓冲的读取和写入字符数据,提高性能。

c. InputStreamReader和OutputStreamWriter:用于将字节流转换为字符流,可以指定字符集进行转换。

d. CharArrayReader和CharArrayWriter:用于从内存中读取字符和向内存中写入字符。

3. 对象流函数:

a. ObjectInputStream和ObjectOutputStream:用于读写Java对象,可以实现对象的序列化和反序列化。

b. ObjectOutputStream的writeObject方法用于将对象写入输出流。

c. ObjectInputStream的readObject方法用于从输入流中读取对象。

4. 标准输入输出流函数:

a. System.in是标准输入流,可以使用Scanner类的next方法读取用户输入。

b. System.out是标准输出流,可以使用System.out.println方法打印输出结果。

下面是一个简单的示例,演示了使用FileInputStream和FileOutputStream读写文件的过程:

import java.io.*;

public class Main {
    public static void main(String[] args) {
        try {
            // 创建文件输入流
            FileInputStream fis = new FileInputStream("input.txt");
            // 创建文件输出流
            FileOutputStream fos = new FileOutputStream("output.txt");
            
            int data;
            // 从输入流读取字节并写入输出流
            while ((data = fis.read()) != -1) {
                fos.write(data);
            }
            
            // 关闭输入输出流
            fis.close();
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码会将input.txt文件中的内容复制到output.txt文件中。

这只是输入输出流函数的基本使用方法,Java中还提供了更多高级的输入输出流函数和类,如PipedInputStream和PipedOutputStream用于线程之间的通信,PrintStream和PrintWriter用于格式化输出,以及各种网络流等。

请注意,在使用输入输出流时,要及时关闭流以释放系统资源,并进行异常处理以应对可能的错误。