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

使用Java中的I/O函数读写文件

发布时间:2023-06-19 02:22:08

在Java中,I/O函数是非常常用的,可以用来读写文件。I/O指的是输入和输出,Java中有很多I/O类,例如InputStream、OutputStream、Reader和Writer等。通过这些类,我们可以实现从文件中读取数据或将数据写入文件的操作。下面我们将学习在Java中如何使用I/O函数读写文件。

一、Java I/O类

Java中提供的I/O类主要包括InputStream和OutputStream,它们分别用于处理字节流,Reader和Writer则用于处理字符流。常用的I/O类及其功能如下:

1. FileInputStream和FileOutputStream:用于读写文件中的字节流。

2. BufferedReader和BufferedWriter:用于处理字节流包装类。

3. InputStreamReader和OutputStreamWriter:用于处理字符流包装类。

4. FileReader和FileWriter:用于读写文件中的字符流。

二、Java I/O读文件

以下是在Java中读取文件的步骤:

1. 创建一个File对象,用于表示要读取的文件。

2. 创建一个输入流对象,从文件中读取输入流。

3. 读取输入流中的数据,可以使用一些读取数据的方法,例如read方法、readLine方法等。

4. 操作完毕后关闭输入流。

下面是一个读取文本文件的示例代码:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class ReadFile {
    public static void main(String[] args) {
        try {
            File file = new File("test.txt");//创建一个File对象,用于表示要读取的文件
            FileInputStream fis = new FileInputStream(file);//创建一个输入流对象,从文件中读取输入流
            BufferedReader reader = new BufferedReader(new InputStreamReader(fis));//读取输入流中的数据
            
            String line = null;
            while ((line = reader.readLine()) != null) {//使用readLine方法读取文件内容
                System.out.println(line);
            }
            
            reader.close();//操作完毕关闭输入流
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

三、Java I/O写文件

以下是在Java中写入文件的步骤:

1. 创建一个File对象,用于表示要写入的文件。

2. 创建一个输出流对象,用于将数据写入文件。

3. 向输出流中写入数据,可以使用一些写入数据的方法,例如write方法、print方法等。

4. 操作完毕后关闭输出流。

下面是一个将字符串写入到文本文件的示例代码:

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;

public class WriteFile {
    public static void main(String[] args) {
        try {
            File file = new File("test.txt");//创建一个File对象,用于表示要写入的文件
            FileWriter fw = new FileWriter(file, true);//创建一个输出流对象,用于将数据写入文件
            BufferedWriter writer = new BufferedWriter(fw);//使用缓冲区写入数据
            
            String str = "Hello, World!";//要写入的字符串
            writer.write(str);//将字符串写入到缓冲区中
            
            writer.close();//操作完毕关闭输出流
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

四、Java I/O读写二进制文件

对于二进制文件,我们可以使用文件的字节流读写,Java中提供了DataInputStream和DataOutputStream类来读写二进制数据。下面是一个读写二进制文件的示例代码:

import java.io.*;

public class BinaryFile {
    public static void main(String[] args) {
        try {
            File file = new File("test.bin");//创建一个File对象,用于表示要读取或写入的二进制文件

            //写入二进制数据
            FileOutputStream fos = new FileOutputStream(file);
            DataOutputStream dos = new DataOutputStream(fos);
            dos.writeUTF("Hello, World!");
            dos.writeInt(123);
            dos.close();

            //读取二进制数据
            FileInputStream fis = new FileInputStream(file);
            DataInputStream dis = new DataInputStream(fis);
            String str = dis.readUTF();
            int num = dis.readInt();
            dis.close();

            System.out.println(str);
            System.out.println(num);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

以上就是在Java中使用I/O函数读写文件的方法。我们可以根据自己的需求选择不同的I/O类和方法来实现文件的读写操作。在使用I/O函数时,需要注意文件路径和文件名的正确性,同时也要注意在执行完读写操作后关闭流,以避免资源浪费和文件损坏的情况发生。