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

Java IO编程:10个常用文件操作函数

发布时间:2023-06-17 01:53:19

在Java中,文件输入输出操作是一个非常普遍且有用的功能。在本篇文章中,我们将探讨10个常用文件操作函数,以便更加熟悉Java中的IO编程。

1. FileInputStream和FileOutputStream

这两个函数允许我们打开一个文件并从其读取或向其写入数据。例如,下面是一个使用FileInputStream读取文件的例子:

FileInputStream fis = new FileInputStream("input.txt");
int data = fis.read(); // 读取一个字节
while (data != -1) { // 检查是否到达文件末尾
    System.out.print((char) data); // 将字节转换为字符并打印
    data = fis.read(); // 继续读取下一个字节
}
fis.close();

2. FileReader和FileWriter

这两个函数可以用于读取和写入文本文件。它们的使用方式类似于FileInputStream和FileOutputStream,但需要将它们传递给InputStreamReader和OutputStreamWriter以便正确地处理编码。例如,下面是一个使用FileReader读取文本文件的例子:

FileReader fr = new FileReader("input.txt");
int data = fr.read(); // 读取一个字符
while (data != -1) { // 检查是否到达文件末尾
    System.out.print((char) data); // 将字符打印
    data = fr.read(); // 继续读取下一个字符
}
fr.close();

3. BufferedReader和BufferedWriter

这两个函数可以用于读取和写入文本文件,并提供了更高效的缓冲区读写功能。例如,下面是一个使用BufferedReader读取文本文件的例子:

BufferedReader br = new BufferedReader(new FileReader("input.txt"));
String line = br.readLine(); // 读取一行文本
while (line != null) { // 检查是否到达文件末尾
    System.out.println(line); // 将行打印
    line = br.readLine(); // 继续读取下一行文本
}
br.close();

4. DataInputStream和DataOutputStream

这两个函数可以用于二进制数据的读取和写入。它们提供了许多不同类型的方法来读取和写入整数、浮点数、字符等数据类型。例如,下面是一个使用DataInputStream读取二进制文件的例子:

DataInputStream dis = new DataInputStream(new FileInputStream("input.bin"));
int number = dis.readInt(); // 读取一个整数
double value = dis.readDouble(); // 读取一个浮点数
char test = dis.readChar(); // 读取一个字符
dis.close();

5. PrintStream和PrintWriter

这两个函数可以用于将文本输出到文件中。它们提供了一些不同的方法来打印各种类型的数据、字节数组等。例如,下面是一个使用PrintStream将字符串输出到文本文件的例子:

PrintStream ps = new PrintStream(new FileOutputStream("output.txt"));
ps.println("This is a test."); // 输出一个字符串
ps.close();

6. File.exists()

该函数用于检查文件或目录是否存在。例如,下面是一个检查文件是否存在的例子:

File file = new File("input.txt");
if (file.exists()) {
    System.out.println("File exists.");
} else {
    System.out.println("File not found.");
}

7. File.isDirectory()和File.isFile()

这两个函数用于检查File对象是否表示目录或文件。例如,下面是一个检查目录是否存在的例子:

File dir = new File("mydir");
if (dir.isDirectory()) {
    System.out.println("Directory exists.");
} else {
    System.out.println("Directory not found.");
}

8. File.getParent()

该函数可以用于获取文件或目录的父目录路径。例如,下面是一个获取文件父目录的例子:

File file = new File("mydir/input.txt");
String parent = file.getParent();
System.out.println("Parent directory: " + parent);

9. File.mkdir()和File.mkdirs()

这两个函数可以用于创建目录。mkdir()函数创建指定的目录,只在父目录存在时才能执行成功;而mkdirs()函数则会创建多层目录,如果父目录不存在也会一并创建。例如,下面是一个创建目录的例子:

File dir = new File("mydir");
if (!dir.exists()) {
    if (dir.mkdir()) {
        System.out.println("Directory created.");
    } else {
        System.out.println("Directory not created.");
    }
}

10. File.delete()

该函数用于删除文件或目录。例如,下面是一个删除文件的例子:

File file = new File("input.txt");
if (file.delete()) {
    System.out.println("File deleted.");
} else {
    System.out.println("File not found.");
}

以上是10个常用的文件操作函数,它们能够满足我们在文件输入输出时的大多数需求。值得注意的是,在使用这些函数时,我们需要正确地处理异常,以便程序的健壮性和稳定性。