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

使用Java中的IO函数进行文件读写操作教程?

发布时间:2023-07-06 10:19:09

在Java中,我们可以使用IO流来进行文件读写操作。IO流分为字节流和字符流两种类型,分别用于处理二进制数据和文本数据。

1. 文件读操作

使用FileInputStream类来读取文件。首先创建一个File对象,指定要读取的文件路径。然后用FileInputStream类的构造函数将该File对象作为参数来创建一个InputStream对象。

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

public class FileReadExample {
    public static void main(String[] args) {
        File file = new File("path/to/file.txt");

        try (InputStream inputStream = new FileInputStream(file)) {
            int data;
            while ((data = inputStream.read()) != -1) {
                System.out.print((char) data);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,我们使用了try-with-resources语句来自动关闭流。循环读取输入流中的字节数据,直到返回-1表示读取完毕。

2. 文件写操作

使用FileOutputStream类来写入文件。首先创建一个File对象,指定要写入的文件路径。然后用FileOutputStream类的构造函数将该File对象作为参数来创建一个OutputStream对象。

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class FileWriteExample {
    public static void main(String[] args) {
        File file = new File("path/to/file.txt");

        try (OutputStream outputStream = new FileOutputStream(file)) {
            String data = "Hello, World!";
            outputStream.write(data.getBytes());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,我们使用了try-with-resources语句来自动关闭流。利用getBytes()方法将字符串转换为字节数组,使用write()方法写入OutputStream。

3. 文本文件读写操作

对于文本文件,我们可以使用更方便的字符流进行读写操作。通过FileReader和FileWriter类来读写文本文件。

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

public class TextFileReadAndWriteExample {
    public static void main(String[] args) {
        File file = new File("path/to/file.txt");

        // 读取文件
        try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        // 写入文件
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(file, true))) {
            writer.write("Hello, World!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,我们使用了BufferedReader和BufferedWriter类来进行文本文件读写操作。BufferedReader的readLine()方法可以一次读取一行文本数据,BufferedWriter的write()方法可以写入文本数据。

总结:

Java的IO函数提供了丰富的API来进行文件读写操作。通过使用字节流或字符流类以及相应的输入输出流子类,我们可以读取和写入不同类型的文件数据。对于文本文件,字符流类更方便,可以一次读取一行文本数据。务必注意在文件操作完成后关闭流对象来释放资源。