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

Java中的文件读写函数:File、Scanner和PrintWriter

发布时间:2023-06-05 17:37:29

在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。它们被广泛用于访问文件和目录以及读取和写入文件。使用它们,我们可以方便地进行文件的读写操作。