如何在Java中使用File函数读取和写入文件?
在Java中,File类是用于处理文件和目录的基本操作的核心类之一。它提供了许多方法来处理文件,例如读取文件、写入文件以及检查文件是否存在等等。
读取文件
在Java中读取文件有多种方法,常见的有使用BufferedReader或Scanner类读取文本文件或使用Java IO API中的InputStream和Reader类读取二进制文件。这里我们来介绍一种常见的读取文本文件的方法。
首先,需要创建一个File对象,这可以通过文件的路径或URI来实现。然后使用一个BufferedReader对象来读取文件,可使用BufferedReader的readLine()方法逐行读取文件内容。
下面是一个读取文本文件的Java代码示例:
File file = new File("file.txt);
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
}
上面代码示例中,使用Java 7的try-with-resources来自动关闭文件流对象。另外,需要注意的是,使用FileReader时,文件编码默认使用了平台默认的编码方式,如果需要指定编码方式,可以使用InputStreamReader代替FileReader来读取文件。
写入文件
在Java中写入文件也有多种方法,可以使用Java IO API中的OutputStream和Writer类来写入二进制文件或文本文件,也可以使用PrintWriter类来写入文本文件。这里我们来介绍一种常见的写入文本文件的方法。
首先,需要创建一个File对象,然后使用一个PrintWriter对象来写入文件,可以使用PrintWriter的实例方法print()和println()来将字符串写入文件,以及使用println()方法写入一个新行号。为了向文件写入一些数据,需要使用PrintWriter对象的println()方法,并指定字符串。
下面是一个写入文本文件的Java代码示例:
File file = new File("file.txt");
try (PrintWriter pw = new PrintWriter(new FileWriter(file))) {
pw.println("Hello World!");
pw.println("Java I/O Tutorial");
}
上面代码示例中,使用Java 7的try-with-resources来自动关闭文件流对象。另外,需要注意的是,使用FileWriter时,文件编码默认使用了平台默认的编码方式,如果需要指定编码方式,可以使用OutputStreamWriter代替FileWriter来写入文件。
总结
在Java中,使用File类可以方便的读取和写入文件。读取文件时,可以使用BufferedReader或Scanner类读取文本文件或使用Java IO API中的InputStream和Reader类读取二进制文件;写入文件时,可以使用Java IO API中的OutputStream和Writer类来写入二进制文件或文本文件,也可以使用PrintWriter类来写入文本文件。使用try-with-resources语法糖可以有效的避免资源泄露的问题,提高代码的可读性和可靠性。
