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

Java中的IO函数如何实现文件的读写操作?

发布时间:2023-07-01 11:53:07

Java中的IO函数实现了对文件的读写操作,主要可以分为字节流和字符流两种形式。

1. 字节流(Byte Stream):

字节流以字节为单位进行读写操作,适用于处理二进制文件或者字节流形式的文本文件。主要有InputStream和OutputStream两个抽象类,可以通过它们的子类进行具体的文件读写操作。

- FileInputStream类用于打开一个输入流以从文件中读取字节。

- FileOutputStream类用于打开一个输出流以向文件中写入字节。

示例代码如下所示:

// 文件读取

try (FileInputStream fis = new FileInputStream("test.txt")) {

    int data;

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

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

    }

} catch (IOException e) {

    e.printStackTrace();

}

// 文件写入

try (FileOutputStream fos = new FileOutputStream("test.txt")) {

    String str = "Hello World!";

    fos.write(str.getBytes());

} catch (IOException e) {

    e.printStackTrace();

}

2. 字符流(Character Stream):

字符流以字符为单位进行读写操作,适用于处理文本文件。主要有Reader和Writer两个抽象类,可以通过它们的子类进行具体的文件读写操作。

- FileReader类用于打开一个输入字符流以读取文件中的字符。

- FileWriter类用于打开一个输出字符流以写入文件中的字符。

示例代码如下所示:

// 文件读取

try (FileReader fr = new FileReader("test.txt")) {

    int data;

    while ((data = fr.read()) != -1) {

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

    }

} catch (IOException e) {

    e.printStackTrace();

}

// 文件写入

try (FileWriter fw = new FileWriter("test.txt")) {

    String str = "Hello World!";

    fw.write(str);

} catch (IOException e) {

    e.printStackTrace();

}

无论是字节流还是字符流,Java的IO函数提供了丰富的操作方法,可以读取、写入和操作文件的各种属性。此外,还可以使用缓冲流(Buffered Stream)对IO操作进行缓冲,提高读写性能。同时,Java的IO函数还提供了各种辅助类和方法,例如对目录的操作、对文件属性的操作等。通过合理使用IO函数,可以实现对文件的各种读写操作,满足不同需求。