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

Java中如何使用函数实现文件的读写操作

发布时间:2023-06-19 02:59:34

Java是一种流行的编程语言,它提供了一种方便的方法对文件进行读写操作。若要使用Java来进行文件读写操作,我们通常需要使用File,FileInputStream,FileOutputStream和BufferedReader和BufferedWriter等Java类。

对文件的读操作

在Java中,我们通常使用FileInputStream或BufferedReader来进行文件读操作。如果要读取文本文件,我们可以使用以下代码:

try {
  File file = new File("filename.txt");
  BufferedReader br = new BufferedReader(new FileReader(file));
  String line;
  while ((line = br.readLine()) != null) {
      System.out.println(line);
  }
  br.close();
} catch (Exception e) {
  e.printStackTrace();
}

在上述代码中,我们使用了File和BufferedReader类对象。我们用FileReader类来读取文本文件,该类是Reader类的子类。而BufferedReader类包装了FileReader类对象,使用BufferedReader可以一行一行地读取文本文件,直到读取到文件的末尾(即line为null)。

然而,如果我们需要读取二进制文件,则应该使用FileInputStream类对象进行读操作,如下所示:

try {
  File file = new File("filename.bin");
  FileInputStream fis = new FileInputStream(file);
  int b;
  while ((b = fis.read()) != -1) {
      System.out.print(b + " ");
  }
  fis.close();
} catch (Exception e) {
  e.printStackTrace();
}

在上述代码中,我们使用了FileInputStream类对象。与BufferedReader.readLine()方法不同,FileInputStream.read()方法只读取一个字节。

对文件的写操作

在Java中,我们通常使用FileOutputStream或BufferedWriter来进行文件写操作。如果要写入文本文件,我们可以使用以下代码:

try {
  String str = "Hello, world!";
  File file = new File("filename.txt");
  BufferedWriter bw = new BufferedWriter(new FileWriter(file));
  bw.write(str);
  bw.close();
} catch (Exception e) {
  e.printStackTrace();
}

在上述代码中,我们使用了File和BufferedWriter类对象。与BufferedReader.readLine()方法类似,BufferedWriter.write()方法可以写一行一行的文本数据到文件中,直到写入文件的末尾。值得注意的是,在写文件时,我们必须使用FileWriter类对象来写入文本文件,该类是Writer类的子类。

如果我们需要写入二进制文件,则应该使用FileOutputStream类对象进行写操作,如下所示:

try {
  byte[] b = {65, 66, 67, 68};
  File file = new File("filename.bin");
  FileOutputStream fos = new FileOutputStream(file);
  fos.write(b);
  fos.close();
} catch (Exception e) {
  e.printStackTrace();
}

在上述代码中,我们使用了FileOutputStream类对象。与FileInputStream.read()方法不同,FileOutputStream.write()方法可以写入多个字节。

结论

Java提供了多种方法对文件进行读写操作,我们可以根据需要,使用File、FileInputStream、FileOutputStream和BufferedReader和BufferedWriter等Java类来实现文件读写操作。无论是读取文本文件还是二进制文件,还是写入文本文件或二进制文件,Java都提供了相应的方法来进行文件操作,开发者只需根据需求选取合适的方法即可。