Java中的文件读写函数:File、Scanner和PrintWriter
在Java中,文件读写是一个基本的操作,因此,Java提供了一些文件读写函数来使这些操作变得更加容易和高效。这些函数包括File、Scanner和PrintWriter。这篇文章将讨论这三个函数的用途,以及如何使用它们进行文件的读写。
File
File类是Java中处理文件和目录的类之一。File类可被用来访问文件或目录的各种属性,如文件名、大小、修改日期等等。File类中最常用的方法有以下几个:
1. exists()方法:判断文件或目录是否存在。
2. isFile()方法:判断是否是一个文件。
3. isDirectory()方法:判断是否是一个目录。
4. getName()方法:获取文件或目录的名称。
5. getParent()方法:获取文件或目录所在的父目录。
6. getPath()方法:获取文件或目录的路径。
7. lastModified()方法:获取文件或目录的最后修改日期。
8. length()方法:获取文件的大小。
Scanner
Scanner类是Java中用于读取用户输入或文件内容的类之一。Scanner类包含了许多读取不同数据类型的方法,如next()、nextInt()、nextDouble()等等。Scanner类的构造方法可以传递各种参数,如File对象、InputStream对象等等,用于读取不同来源的数据。Scanner类最常用的方法有以下几个:
1. next()方法:读取下一个单词(以空格作为分隔符)。
2. nextLine()方法:读取下一行。
3. hasNext()方法:判断是否还有下一个单词。
4. hasNextLine()方法:判断是否还有下一行。
5. nextInt()方法:读取下一个整数。
6. nextDouble()方法:读取下一个双精度浮点数。
7. close()方法:关闭Scanner对象。
PrintWriter
PrintWriter类是Java中用于将数据写入文件或输出流的类之一。PrintWriter类包含了许多将不同数据类型写入文件或输出流的方法,如print()、println()、format()等等。PrintWriter类的构造方法可以传递各种参数,如File对象、OutputStream对象等等,用于将数据写入不同的输出流。PrintWriter类最常用的方法有以下几个:
1. print()方法:将数据写入输出流。
2. println()方法:将数据写入输出流,并换行。
3. format()方法:按照格式化字符串的格式,将数据写入输出流。
4. flush()方法:强制将缓冲区中的数据写入输出流。
5. close()方法:关闭PrintWriter对象。
使用示例
下面是一个简单的代码示例,展示了如何使用File、Scanner和PrintWriter类来读写一个文本文件。在这个示例中,我们将在文件的开头添加一行文本,并把文件内容输出到控制台上。
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class FileReadWriteExample {
public static void main(String[] args) throws IOException {
// Open input file
File inputFile = new File("input.txt");
Scanner scanner = new Scanner(inputFile);
// Read file contents
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
// Close input file
scanner.close();
// Open output file
File outputFile = new File("output.txt");
PrintWriter writer = new PrintWriter(new FileWriter(outputFile));
// Write to output file
writer.println("This is a new line.");
scanner = new Scanner(inputFile);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
writer.println(line);
}
// Close output file
scanner.close();
writer.close();
}
}
在这个示例中,我们首先使用File类创建一个File对象,该对象代表了要读取的文件(input.txt)。我们然后创建一个Scanner对象,该对象用于读取文件的内容。我们使用while循环逐行读取文件,并把文件的每一行输出到控制台上。在读取完文件后,我们关闭Scanner对象。
然后,我们创建一个FileWriter对象和一个PrintWriter对象,用于写入文件。我们首先调用PrintWriter的println()方法,写入一行新的文本到输出文件。然后,我们再次打开输入文件,并使用while循环逐行读取文件,并写入输出文件。最后,我们关闭输入文件和输出文件。
总结
本篇文章讨论了Java中的文件读写函数,包括File、Scanner和PrintWriter。它们被广泛用于访问文件和目录以及读取和写入文件。使用它们,我们可以方便地进行文件的读写操作。
