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

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

发布时间:2023-05-30 07:40:50

文件读写是任何编程语言中最常见的任务之一,Java也不例外。在Java中,我们可以使用Java.io包中提供的一些函数来读写文件。该包提供了一组类和接口,以便我们管理输入和输出,以及与文件和其他I/O资源的交互。

一、文件读取

1. 使用FileInputStream读取文件

我们可以使用FileInputStream类来读取文件的内容。这个类实际上是用来读取文件的字节流,并且要求我们提供一个文件路径作为它的构造函数参数,例如:

FileInputStream fis = new FileInputStream("C:\\demo.txt");

接下来,我们需要使用read()方法读取文件内容。read()方法会返回一个整数,表示读取的字节数,如果返回-1,则表示已经读取到文件尾部。例如:

FileInputStream fis = new FileInputStream("C:\\demo.txt");
int i = 0;
while((i = fis.read()) != -1) {
  System.out.print((char)i);
}
fis.close();

该代码会在控制台中输出文件的内容。

2. 使用BufferedReader读取文件

除了使用FileInputStream外,我们还可以使用更高级别的类,如BufferedReader来读取文件。该类允许我们一次读取一整行数据而不是一个字符。例如:

FileReader fr = new FileReader("C:\\demo.txt");
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
while(line != null) {
  System.out.println(line);
  line = br.readLine();
}
br.close();

该代码会逐行读取文件内容并在控制台中输出。

二、文件写入

文件写入和文件读取类似,我们也可以使用Java.io包中提供的一些函数来写入文件。我们可以使用FileOutputStream类来写入文件内容。例如:

String content = "Hello, World!";
FileOutputStream fos = new FileOutputStream("C:\\demo.txt");
fos.write(content.getBytes());
fos.close();

该代码会在C盘根目录下创建一个名为demo.txt的文件,并将内容Hello, World!写入文件中。

除了使用FileOutputStream以外,我们还可以使用更高级别的类,如PrintWriter来写入文件。该类允许我们以更简单的方式格式化输出。例如:

String content = "Hello, World!";
PrintWriter pw = new PrintWriter("C:\\demo.txt");
pw.println(content);
pw.close();

该代码与之前的代码功能相同,但它使用的是更高级别的方法。

三、异常处理

在读写文件时,必须要处理异常。例如,如果文件不存在,我们需要捕获FileNotFoundException。在写文件时,如果磁盘空间不足,我们需要捕获IOException。以下是一个读取文件时异常处理的例子:

try {
  FileReader fr = new FileReader("C:\\demo.txt");
  BufferedReader br = new BufferedReader(fr);
  String line = br.readLine();
  while(line != null) {
    System.out.println(line);
    line = br.readLine();
  }
  br.close();
} catch (FileNotFoundException e) {
  e.printStackTrace();
} catch (IOException e) {
  e.printStackTrace();
}

该代码会捕获FileNotFoundException和IOException异常,并输出异常的详细信息。

总结

文件读写是编程中的必要任务。在Java中,我们可以使用Java.io包中提供的函数来读写文件。我们可以使用FileInputStream或BufferedReader来读取文件,使用FileOutputStream或PrintWriter来写入文件。在读写文件时,必须使用异常处理机制来捕获可能发生的异常。如果您在编程过程中熟练掌握这些技能,您将能够更好地处理文件读写任务。