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

使用Java函数实现文件读写操作的方法与技巧

发布时间:2023-05-31 09:59:09

Java是一种高级编程语言,它具有强大的文件读写能力,使得Java可以轻松实现文件读写操作。在Java中,可以使用标准库中提供的函数来进行文件读写操作,也可以使用第三方库来加强Java的文件读写功能。下面是一些使用Java函数实现文件读写操作的方法与技巧。

1. 使用BufferedReader和FileReader实现文本文件的读取

Java中可以通过BufferedReader和FileReader类来读取文本文件。代码如下:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFile {
    public static void main(String[] args) {

        String fileName = "input.txt"; // 文件名
        String line = null; // 用于存储每一行的内容

        try {
            FileReader fileReader = new FileReader(fileName); // 文件读取器
            BufferedReader bufferedReader = new BufferedReader(fileReader); // 带有缓冲区的字符流读取器

            // 读取文件中的每一行
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line); // 输出每一行
            }

            bufferedReader.close(); // 关闭流
        } catch (IOException ex) {
            System.out.println("Error reading file '" + fileName + "'");
        }
    }
}

2. 使用BufferedWriter和FileWriter实现文本文件的写入

Java中可以通过BufferedWriter和FileWriter类来写入文本文件,代码如下:

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteFile {
    public static void main(String[] args) {

        String fileName = "output.txt"; // 文件名
        String content = "Hello, world!"; // 写入的内容

        try {
            FileWriter fileWriter = new FileWriter(fileName); // 文件写入器
            BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); // 带有缓冲区的字符流写入器

            bufferedWriter.write(content); // 写入内容
            bufferedWriter.newLine(); // 换行

            bufferedWriter.close(); // 关闭流
        } catch (IOException ex) {
            System.out.println("Error writing to file '" + fileName + "'");
        }
    }
}

3. 使用InputStream和OutputStream实现二进制文件的读取和写入

Java中可以通过InputStream和OutputStream类来读取和写入二进制文件,代码如下:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class BinaryFile {
    public static void main(String[] args) {

        String inputFile = "input.jpg"; // 输入文件名
        String outputFile = "output.jpg"; // 输出文件名

        try {
            // 读取二进制文件
            FileInputStream inputStream = new FileInputStream(inputFile);
            byte[] buffer = new byte[1024];

            // 写入二进制文件
            FileOutputStream outputStream = new FileOutputStream(outputFile);

            int bytesRead = 0;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }

            inputStream.close(); // 关闭流
            outputStream.close(); // 关闭流
        } catch (IOException ex) {
            System.out.println("Error copying file");
        }
    }
}

4. 使用Apache Commons IO库简化文件读写操作

Apache Commons IO是一个流行的第三方库,它包含许多实用函数来简化Java的文件读写操作。使用该库可以大大提高Java的文件读写效率。代码如下:

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.util.List;

public class ApacheCommonsIO {
    public static void main(String[] args) {

        String inputFile = "input.txt"; // 输入文件名
        String outputFile = "output.txt"; // 输出文件名

        try {
            // 读取文本文件
            List<String> lines = FileUtils.readLines(new File(inputFile), "UTF-8");

            // 写入文本文件
            FileUtils.writeLines(new File(outputFile), lines);
        } catch (IOException ex) {
            System.out.println("Error copying file");
        }
    }
}

总之,在Java中实现文件读写操作通常需要使用输入输出流等类,Java提供了众多类来帮助我们实现文件读写操作。除了使用标准库函数之外,使用第三方库可以大大提高文件读写效率和简化文件读写代码。