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

Java中的File函数:文件读写操作实例详解

发布时间:2023-06-24 13:44:28

在Java中,我们可以利用File函数来进行文件读写操作。File函数是Java的标准类库之一,用于处理文件和目录的相关操作。本篇文章将详细介绍Java中的File函数在文件读写方面的应用。

1. 文件写入操作

在Java中,我们可以使用FileWriter(字符流)和FileOutputStream(字节流)两种方式进行文件写入。这里我们分别介绍这两种方式。

(1)使用FileWriter进行文件写入

FileWriter类继承了Writer类,使得我们能够在文件中写入字符。具体的写入操作如下:

import java.io.FileWriter;
import java.io.IOException;

public class FileWriterDemo {
    public static void main(String[] args) throws IOException {
        String filePath = "D:\\test.txt";     //文件路径
        String content = "Hello Java";       //写入的内容
        FileWriter fileWriter = new FileWriter(filePath);
        fileWriter.write(content);
        fileWriter.close();
    }
}

程序的执行过程如下:

- 从java.io包中导入FileWriterIOException类。

- 定义文件的路径和要写入的数据。

- 通过FileWriter(filePath)创建一个FileWriter对象,它会在文件中写入字符。如果文件不存在则创建文件。如果文件已存在,则覆盖文件内容。

- 使用write()方法将数据写入文件。

- 使用close()方法释放文件资源。

(2)使用FileOutputStream进行文件写入

FileOutputStream类是Java对于文件输出流的实现,我们可以使用它将数据写入文件。具体的写入操作如下:

import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        String filePath = "D:\\test.txt";     //文件路径
        String content = "Hello Java";       //写入的内容
        FileOutputStream fileOutputStream = new FileOutputStream(filePath);
        byte[] bytes = content.getBytes();
        fileOutputStream.write(bytes);
        fileOutputStream.close();
    }
}

程序的执行过程如下:

- 从java.io包中导入FileOutputStreamIOException类。

- 定义文件的路径和要写入的数据。

- 通过FileOutputStream(filePath)创建一个FileOutputStream对象,它会在文件中写入字节。如果文件不存在则创建文件。如果文件已存在,则覆盖文件内容。

- 将输入的字符串转化为字节数组。

- 使用write()方法将数据写入文件。

- 使用close()方法释放文件资源。

2. 文件读取操作

在Java中,我们可以使用FileReader(字符流)和FileInputStream(字节流)两种方式进行文件读取。这里我们分别介绍这两种方式。

(1)使用FileReader进行文件读取

FileReader类继承了Reader类,使得我们能够从文件中读取字符。具体的读取操作如下:

import java.io.FileReader;
import java.io.IOException;

public class FileReaderDemo {
    public static void main(String[] args) throws IOException {
        String filePath = "D:\\test.txt";     //文件路径
        FileReader fileReader = new FileReader(filePath);
        String result = "";
        int ch;
        while ((ch = fileReader.read()) != -1) {
            result += (char) ch;
        }
        System.out.println(result);
        fileReader.close();
    }
}

程序的执行过程如下:

- 从java.io包中导入FileReaderIOException类。

- 定义文件的路径。

- 通过FileReader(filePath)创建一个FileReader对象,它会从文件中读取字符。

- 使用read()方法将数据从文件中读取进程内存。

- 使用close()方法释放文件资源。

- 注意:这里read()返回的类型是int,而不是char。如果文件中没有读取到数据就返回-1,否则返回0到65535之间的整数。

(2)使用FileInputStream进行文件读取

FileInputStream类是Java对于文件读取流的实现,我们可以使用它将数据从文件中读取。具体的读取操作如下:

import java.io.FileInputStream;
import java.io.IOException;

public class FileInputStreamDemo {
    public static void main(String[] args) throws IOException {
        String filePath = "D:\\test.txt";     //文件路径
        FileInputStream fileInputStream = new FileInputStream(filePath);
        byte[] bytes = new byte[1024];
        int length = fileInputStream.read(bytes);
        String result = new String(bytes, 0, length);
        System.out.println(result);
        fileInputStream.close();
    }
}

程序的执行过程如下:

- 从java.io包中导入FileInputStreamIOException类。

- 定义文件的路径。

- 通过FileInputStream(filePath)创建一个FileInputStream对象,它会从文件中读取字节。

- 创建一个字节数组,用于保存读取出来的数据。

- 使用read()方法将数据从文件中读取进程内存。返回值是读取的字节数。

- 将读取出来的字节数组转化为字符串。

- 使用close()方法释放文件资源。

3. 总结

本文介绍了Java中的File函数在文件读写方面的应用。使用FileWriter和FileOutputStream进行写入操作,使用FileReader和FileInputStream进行读取操作。需要注意的是在使用FileWriter和FileOutputStream进行写入时会覆盖文件内容,如果需要在文件末尾进行追加操作,可以使用FileWriter的另一个构造函数或BufferedWriter类。在使用完文件流后需要用close()方法释放文件资源,否则会造成资源泄露。