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

如何使用Java中的File类来读取和写入文件数据?

发布时间:2023-05-26 03:24:41

Java中的File类是一个在Java程序中处理文件和目录的工具类。它提供了方法来读取文件内容、写入文件内容、创建新文件、删除文件等等。本文将介绍如何使用Java中的File类来读取和写入文件数据。

1. 读取文件数据

使用File类来读取文件数据非常简单,只需要按照如下步骤即可:

1)使用File类创建代表文件的对象;

2)使用Java的字节流或字符流来读取文件的内容;

3)关闭读取流。

下面是一个例子:

import java.io.*;
 
public class ReadFile {
   public static void main(String args[]) {
      try {
         File file = new File("filename.txt");
         FileInputStream fis = new FileInputStream(file);
         byte[] bytesArray = new byte[(int) file.length()];
         fis.read(bytesArray);
         String s = new String(bytesArray);
         System.out.println(s);
         fis.close();
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

上面的代码创建了一个File对象来代表要读取的文件,然后使用FileInputStream类的对象来读取文件的内容。读取到的内容存储在字节数组中,最后使用String类的构造函数将字节数组转换为字符串并打印输出。最后需要关闭输入流来释放资源。

除了使用字节流来读取文件,还可以使用字符流来读取文件,代码如下:

import java.io.*;
 
public class ReadFile {
   public static void main(String args[]) {
      try {
         File file = new File("filename.txt");
         FileReader reader = new FileReader(file);
         BufferedReader bufferedReader = new BufferedReader(reader);
         String line;
         while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
         }
         reader.close();
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

上面的代码创建了一个File对象来代表要读取的文件,然后使用FileReader类的对象来读取文件的内容。读取到的内容使用BufferedReader类进行缓冲,每次读取一行并打印输出。最后需要关闭输入流来释放资源。

2. 写入文件数据

使用File类来写入文件数据也非常简单,只需要按照如下步骤即可:

1)使用File类创建代表要写入的文件的对象;

2)使用Java的字节流或字符流来写入文件的内容;

3)关闭写入流。

下面是一个例子:

import java.io.*;
 
public class WriteFile {
   public static void main(String args[]) {
      try {
         File file = new File("filename.txt");
         FileWriter writer = new FileWriter(file);
         writer.write("This is some text to write in the file.
");
         writer.write("This is some more text to write in the file.");
         writer.close();
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

上面的代码创建了一个File对象来代表要写入的文件,然后使用FileWriter类的对象来写入文件的内容。写入的内容使用write方法来添加到文件,最后需要关闭输出流来释放资源。

除了使用字符流来写入文件,还可以使用字节流来写入文件,代码如下:

import java.io.*;
 
public class WriteFile {
   public static void main(String args[]) {
      try {
         File file = new File("filename.txt");
         FileOutputStream fos = new FileOutputStream(file);
         String text = "This is some text to write in the file.";
         byte[] bytesArray = text.getBytes();
         fos.write(bytesArray);
         fos.close();
         System.out.println("File written successfully.");
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

上面的代码创建了一个File对象来代表要写入的文件,然后使用FileOutputStream类的对象来写入文件的内容。写入的内容使用getBytes方法将字符串转换为字节数组,然后使用write方法来将字节数组写入到文件中。最后需要关闭输出流来释放资源。

3. 总结

本文介绍了如何使用Java中的File类来读取和写入文件数据。使用File类读取文件的内容需要考虑文件的编码格式,而写入文件的内容需要手动添加换行符和文件分隔符等。此外,还需要注意关闭读取和输出流来释放资源。