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

Java函数:读取和写入文件

发布时间:2023-06-03 09:19:42

Java有很多用于文件读写的函数。本文将介绍几个常用的函数。

1. FileInputStream和FileOutputStream

FileInputStream和FileOutputStream是Java中用于读取和写入二进制文件的函数。它们的实例可以用于读取和写入所有类型的文件,包括压缩文件和图像文件等。

FileInputStream的构造函数需要一个文件名作为参数,它将文件读入到程序中。FileOutputStream的构造函数也需要一个文件名作为参数,它将输出到指定文件中。

以下是一个简单的使用FileInputStream和FileOutputStream读取和写入文件的例子:

try {
    FileInputStream fis = new FileInputStream("filename.txt");
    FileOutputStream fos = new FileOutputStream("output.txt");
    int content;
    while ((content = fis.read()) != -1) {
        fos.write(content);
    }
    fis.close();
    fos.close();
} catch (IOException e) {
    e.printStackTrace();
}

2. FileReader和FileWriter

FileReader和FileWriter是Java中用于读取和写入文本文件的函数。它们的实例可以用于读取和写入文本文件,包括CSV文件和HTML文件等。

FileReader的构造函数需要一个文件名作为参数,它将文件读入到程序中。FileWriter的构造函数也需要一个文件名作为参数,它将输出到指定文件中。

以下是一个简单的使用FileReader和FileWriter读取和写入文件的例子:

try {
    FileReader fr = new FileReader("filename.txt");
    FileWriter fw = new FileWriter("output.txt");
    int content;
    while ((content = fr.read()) != -1) {
        fw.write(content);
    }
    fr.close();
    fw.close();
} catch (IOException e) {
    e.printStackTrace();
}

3. BufferedReader和BufferedWriter

BufferedReader和BufferedWriter是Java中带缓存的读取和写入函数,它们适用于频繁读取和写入数据的场合,可以提高效率。

BufferedReader的构造函数需要一个Reader对象作为参数,它将读取流中的数据并把它存入一个缓存区中。BufferedWriter的构造函数需要一个Writer对象作为参数,它将把缓存区中的数据写入流中。

以下是一个简单的使用BufferedReader和BufferedWriter读取和写入文件的例子:

try {
    FileReader fr = new FileReader("filename.txt");
    BufferedReader br = new BufferedReader(fr);
    FileWriter fw = new FileWriter("output.txt");
    BufferedWriter bw = new BufferedWriter(fw);
    String line;
    while ((line = br.readLine()) != null) {
        bw.write(line);
        bw.newLine();
    }
    br.close();
    fr.close();
    bw.close();
    fw.close();
} catch (IOException e) {
    e.printStackTrace();
}

在以上例子中,读取的时候每次读取一行,写入的时候每次写一行,并且判断到达文件末尾的条件是读取到null。

4. Scanner

Scanner是Java中一个方便的读取用户输入的函数。它也可以用于读取文件。

以下是一个简单的使用Scanner读取文件的例子:

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

以上例子将读取文件中的每一行并把它打印出来。

总之,Java提供了丰富的文件读写函数,我们可以根据需要选择适合自己的函数来处理文件操作。