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

Java文件IO函数: 掌握如何使用文件IO函数来读写文件

发布时间:2023-06-09 11:32:40

Java作为一种高级编程语言,具有强大的文件输入输出(IO)功能,可用于读取和写入文件。在本文中,我们将探讨Java文件IO函数的工作原理,并提供使用这些函数读取和写入文件的示例。

Java文件IO函数工作原理

Java程序使用流(Stream)将文件作为一系列字节来处理。在Java中,流是一个对象,它可以通过从输入设备读取数据,或将数据写入输出设备来读写数据。Java中常用的流包括 FileInputStream,FileOutputStream,BufferedReader和BufferedWriter等。

Java中常用的文件IO函数

1.使用FileInputStream和FileOutputStream读写文件

FileInputStream(文件输入流)和FileOutputStream(文件输出流)是Java IO API的核心部分之一,它们分别用于从文件读取字节和向文件写入字节。下面是一个使用FileInputStream和FileOutputStream读写文件的示例:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
 
public class FileIOExample {
    public static void main(String[] args) {
        try {
            File inputFile = new File("input.txt");
            File outputFile = new File("output.txt");
 
            FileInputStream inputStream = new FileInputStream(inputFile);
            FileOutputStream outputStream = new FileOutputStream(outputFile);
 
            int c;
            while ((c = inputStream.read()) != -1) {
                outputStream.write(c);
            }
 
            inputStream.close();
            outputStream.close();
 
            System.out.println("文件读写完成!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的例子中,我们创建了一个名为input.txt的文件,并将其作为File对象传递给FileInputStream。然后我们创建了一个名为output.txt的文件,并将其作为File对象传递给FileOutputStream。

接下来,我们使用while循环读取input.txt文件中的数据,并使用outputStream将其写入output.txt文件。最后,我们关闭了InputStream和OutputStream对象,并打印了一条消息来表明读写操作已完成。

2. 使用BufferedReader和BufferedWriter读写文件

除使用FileInputStream和FileOutputStream外,我们还可以使用BufferedReader和BufferedWriter来读写文本文件。BufferedReader和BufferedWriter的优点在于它们可以一次读写多个字符,而不像FileInputStream和FileOutputStream只能一次读写一个字节。下面是一个使用BufferedReader和BufferedWriter读写文件的示例:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
 
public class FileIOExample {
    public static void main(String[] args) {
        try {
            File inputFile = new File("input.txt");
            File outputFile = new File("output.txt");
 
            BufferedReader reader = new BufferedReader(new FileReader(inputFile));
            BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));
 
            String line;
            while ((line = reader.readLine()) != null) {
                writer.write(line);
                writer.newLine();
            }
 
            reader.close();
            writer.close();
 
            System.out.println("文件读写完成!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们创建了一个名为input.txt的文件,并将其作为File对象传递给BufferedReader的构造函数。然后我们创建了一个名为output.txt的文件,并将其作为File对象传递给BufferedWriter的构造函数。

接下来,我们使用while循环读取input.txt文件中的每一行,并使用BufferedWriter将其写入output.txt文件。注意,我们使用writer.newLine()函数在每一行之间添加新行。最后,我们关闭了BufferedReader和BufferedWriter对象,并打印了一条消息来表明读写操作已完成。

总结

在Java中,文件IO函数提供了一种读写文件的简便方式。Java IO API中包含多个流和类,如FileInputStream,FileOutputStream,BufferedReader和BufferedWriter等,这些类和流可以用于读写不同类型的文件。无论是读取文本还是二进制文件,Java文件IO函数都是必不可少的。通过本文章所列举的实例,你现在应该掌握了如何使用Java文件IO处理文件的基础知识。