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

利用Java函数实现文件读写和操作

发布时间:2023-06-16 03:53:21

Java是一种基于类和对象的编程语言,可以方便地进行文件读写和操作。在Java中,文件读写和操作是一种常见的操作,常用的文件操作包括读取、写入、创建、复制、删除和重命名等。

一、文件读取

Java中最常用的文件读取方法是通过FileReader类和BufferedReader类来读取文件。FileReader类用于读取字符文件,BufferedReader类主要用来提高文件读取的性能和缓存区的使用。

1. FileReader类

FileReader类用于读取字符文件,使用时需要先创建该类的对象,然后通过对象调用read()方法来读取文件内容,如下所示:

FileReader fileReader = new FileReader("D:\\test.txt");
int charRead = 0;
while ((charRead = fileReader.read()) != -1) {
    System.out.print((char) charRead);
}
fileReader.close();

上述代码中,createNewFile()方法用于创建一个新文件,read()方法用于读取文件内容,当返回值为-1时表示读取完成,用close()方法关闭文件流。

2. BufferedReader类

BufferedReader类可以提高文件读取的性能,使用该类时,需要先创建该类的对象,然后通过对象调用readLine()方法来读取文件内容,如下所示:

BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
    System.out.println(line);
}
br.close();

上述代码中,BufferedReader类的初始化需要一个Reader类型的参数,和FileReader类不同的是,BufferedReader的readLine()方法是按行读取文件,每次读取一行,并将读取到的内容保存到line字符串中,当读取的行内容为null时表示已读取完文件内容。

二、文件写入

Java中文件写入的常用方法包括FileWriter类和BufferedWriter类,FileWriter类用于写入字符文件,BufferedWriter类则可以提高写入的性能,加快写入的速度。

1. FileWriter类

FileWriter类用于写入字符文件,使用方法同FileReader类。在执行写入操作时,会覆盖掉原有的文件内容,如下所示:

FileWriter fileWriter = new FileWriter("D:\\test.txt");
fileWriter.write("Hello World!");
fileWriter.close();

上述代码中,FileWriter写入文件时,会将原有的文件内容覆盖掉,并且每次仅能写入一个字符串。

2. BufferedWriter类

BufferedWriter类用于提高写入文件的性能,主要是通过缓存机制优化写入速度,使用方式如下所示:

BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
bw.write("Hello World!");
bw.newLine();
bw.close();

上述代码中,用newLine()方法在写入的字符串后添加一个换行符,并且使用close()方法关闭输入流。

三、文件操作

Java中还可以进行文件的操作,如文件的创建、复制、删除和重命名等。

1. 文件创建

Java中可以通过File类的createNewFile()方法来创建文件,如下所示:

File file = new File("D:\\test.txt");
try {
    if (file.createNewFile()) {
        System.out.println("File is created!");
    } else {
        System.out.println("File already exists.");
    }
} catch (IOException e) {
    e.printStackTrace();
}

上述代码中,createNewFile()方法返回true表示文件创建成功,返回false表示文件已经存在。

2. 文件复制

Java中可以使用File类的copy()方法来复制文件,如下所示:

Path source = Paths.get("D:\\test.txt");
Path target = Paths.get("D:\\test_copy.txt");
try {
    Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
    e.printStackTrace();
}

上述代码中,使用Paths.get()方法读取要复制的文件和目标文件,然后使用Files.copy()方法复制文件,也可以使用额外的参数来设置复制选项,如:StandardCopyOption.REPLACE_EXISTING表示如果目标文件存在则覆盖原文件。

3. 文件删除

Java中可以通过File类的delete()方法来删除文件,如下所示:

File file = new File("D:\\test.txt");
if (file.delete()) {
    System.out.println("File deleted successfully.");
} else {
    System.out.println("Failed to delete file.");
}

上述代码中,delete()方法返回true表示删除成功,返回false表示删除失败。

4. 文件重命名

Java中可以通过File类的renameTo()方法来重命名文件,如下所示:

File file = new File("D:\\test.txt");
File newFile = new File("D:\\test_new.txt");
if (file.renameTo(newFile)) {
    System.out.println("File renamed successfully.");
} else {
    System.out.println("Failed to rename file.");
}

上述代码中,renameTo()方法返回true表示重命名成功,返回false表示重命名失败。

总结

本文介绍了Java中文件读写和操作的常用方法,通过FileReader类和BufferedReader类实现文件读取,通过FileWriter类和BufferedWriter类实现文件写入,通过File类的常用方法实现文件的创建、复制、删除和重命名等操作。在实际开发中,可以根据需要选择合适的方法来进行文件的读写和操作。