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

在Java函数中进行文件操作的方法

发布时间:2023-06-11 06:06:26

在Java函数中进行文件操作有多种方法。本文将介绍一些常用的技巧和方法。

1. 使用BufferedReader和FileReader类来读取文件

BufferedReader和FileReader类是Java I/O库中最基本的读取文件的类。他们可以读取常规文本文件,并且无需太多的复杂代码。以下是一个示例:

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

public class FileReadExample {

    public static void main(String[] args) {

        BufferedReader reader;
        try {
            reader = new BufferedReader(new FileReader("example.txt"));
            String line = reader.readLine();
            while (line != null) {
                System.out.println(line);
                line = reader.readLine();
            }
            reader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

上面的代码将打开一个名为“example.txt”的文件,并逐行读取其内容并打印到屏幕上。

2. 使用FileWriter和BufferedWriter类来写入文件

如果需要向文件中写入数据,可以使用FileWriter和BufferedWriter类。以下是一个示例:

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

public class FileWriteExample {

    public static void main(String[] args) {

        try {
            FileWriter writer = new FileWriter("output.txt");
            BufferedWriter bufferedWriter = new BufferedWriter(writer);
            bufferedWriter.write("This is a test");
            bufferedWriter.newLine();
            bufferedWriter.write("This is another test");
            bufferedWriter.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

上述代码将写入两行文本到名为“output.txt”的文件中。第一行是"This is a test",第二行是"This is another test"。

3. 使用File和Scanner类扫描文件内容

File类的功能是让您能够创建或打开文件或目录。Scanner类允许对文件进行扫描来检查其内容。以下是一个示例:

import java.io.File;
import java.util.Scanner;

public class FileScanExample {

    public static void main(String[] args) {

        try {
            File file = new File("example.txt");
            Scanner scanner = new Scanner(file);
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

上述代码将打开名为“example.txt”的文件并扫描其内容。它将逐行打印文件的内容。

4. 使用DataInputStream类获取文件内容

DataInputStream是一个支持基本数据类型读取的I/O类。它提供了读取字节、Short、UnsignedShort、Long、Float、Double等数据类型的方法。以下是一个示例:

import java.io.DataInputStream;
import java.io.FileInputStream;

public class FileReadExample2 {

    public static void main(String[] args) {
        try {
            FileInputStream fileInputStream = new FileInputStream("example.txt");
            DataInputStream dataInputStream = new DataInputStream(fileInputStream);
            while (dataInputStream.available() > 0) {
                System.out.println(dataInputStream.readLine());
            }
            dataInputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

上述代码将读取名为“example.txt”的文件,并使用DataInputStream类逐行打印其内容。

5. 使用IOUtils类读取和写入文件

最后一个方法是使用Apache Commons IO库中的IOUtils类。IOUtils提供了一系列静态方法,用于对I/O操作进行简化。以下是一个示例:

import org.apache.commons.io.IOUtils;

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

public class FileCopyExample {

    public static void main(String[] args) {
        try {
            FileInputStream inputStream = new FileInputStream("input.txt");
            FileOutputStream outputStream = new FileOutputStream("output.txt");
            IOUtils.copy(inputStream, outputStream);
            inputStream.close();
            outputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

上述代码将从名为“input.txt”的文件中读取内容并将其复制到名为“output.txt”的文件中。