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

如何使用Java函数在文件系统中读写数据?

发布时间:2023-06-14 18:31:27

Java语言提供了多种方法和类来操作文件和文件系统,包括读写文件数据。在Java中,最常用的文件读写类是FileInputStream,FileOutputStream和BufferedReader类,他们提供了不同级别的文件读写和操作。

使用FileInputStream和FileOutputStream读写文件数据

FileInputStream和FileOutputStream是Java中进行文件读和写的基本类。通过使用这些类,可以打开一个文件,从中读取和写入数据。为了创建一个FileInputStream和FileOutputStream对象,可以使用以下语法:

FileInputStream fis = new FileInputStream("input.txt");

FileOutputStream fos = new FileOutputStream("output.txt");

在这个例子中,“input.txt”是要读取数据的文件名,而“output.txt”是要写入数据的文件名。一旦打开了文件,就可以使用“read()”方法从FileInputStream中读取数据并使用“write()”方法将数据写入FileOutputStream。

下面是一个将数据从“input.txt”文件读取并写入“output.txt”文件的示例程序:

import java.io.*;

public class FileCopy {

   public static void main(String args[]) throws IOException {

      FileInputStream fis = null;

      FileOutputStream fos = null;

      

      try {

         fis = new FileInputStream("input.txt"); 

         fos = new FileOutputStream("output.txt");

         

         int c;

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

            fos.write(c);

         }

      }finally {

         if (fis != null) {

            fis.close();

         }

         if (fos != null) {

            fos.close();

         }

      }

   }

}

在这个程序中,首先打开了“input.txt”和“output.txt”文件。然后,在while循环中,使用“read()”方法读取文件中的每个字节,并使用“write()”方法将数据写入“output.txt”文件。最后,在finally块中,关闭了FileInputStream和FileOutputStream对象。总体而言,这个程序简单地复制了一个文件,从而演示如何使用Java进行文件读写。

使用BufferedReader读写文件数据

BufferedReader是一种高级的文件读取类,提供了更高级别的接口,能够以行为单位读取文本文件。使用BufferedReader读取文件数据的步骤如下:

首先需要创建BufferedReader对象,并将它与FileReader对象关联:

BufferedReader br = new BufferedReader(new FileReader("input.txt"));

然后可以使用BufferedReader的readLine()方法读取每行文本数据:

String line = null;

while ((line = br.readLine()) != null) {

   //process each line here

}

在这个循环中,readLine()方法读取了文本文件的每一行,并将其存储为String的对象。这使得每行都可以被进一步处理。

使用BufferedWriter写入文件数据的步骤如下:

首先需要创建BufferedWriter对象,并将它与FileWriter对象关联:

BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"));

然后可以使用BufferedWriter的write()方法将数据写入文件:

bw.write("Hello, world!");

bw.newLine(); //insert newline character

bw.write("This is a test.");

在这个例子中,write()方法将“Hello, world!”和“This is a test.”写入文件。在写完每行文本数据之后,使用newLine()方法插入换行符。

最后,在完成写入后,需要关闭BufferedWriter对象:

bw.close();

总结

Java提供了多种类来处理文件和文件系统操作。FileInputStream和FileOutputStream提供基本的字节流操作,而BufferedReader和BufferedWriter提供更高级别的文本流操作。编写Java应用程序时,需要根据需要选择适当的类,并采用正确的技巧来读取和写入数据到文件系统中。