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

Java中常见的文件读写函数-包括读取和写入文件的方法

发布时间:2023-06-17 03:36:53

Java是一种流行的编程语言,常用于处理数据和文件。在Java中,提供了大量的文件读写函数和方法,方便开发者处理文件数据。下面介绍一些常用的文件读写函数。

1. FileReader和FileWriter

FileReader和FileWriter是一种文本文件读写类,用于读写文本文件。FileReader类可以读取文本文件数据,FileWriter类可以写入文本文件。使用这两个类,可以读写大量的文本数据。例如:

import java.io.*;

public class FileRW {
    public static void main(String[] args) {
        FileReader fr = null;
        FileWriter fw = null;
        try {
            fr = new FileReader("input.txt");
            fw = new FileWriter("output.txt");
            int ch;
            while ((ch = fr.read()) != -1) {
                fw.write(ch);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fr != null)
                    fr.close();
                if (fw != null)
                    fw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

2. FileInputStream和FileOutputStream

FileInputStream和FileOutputStream是读写二进制文件的类,可以读写任何的二进制文件。例如:

try {
    FileInputStream fis = new FileInputStream("image.jpg");
    FileOutputStream fos = new FileOutputStream("output.jpg");
    byte[] buffer = new byte[1024];
    int len;
    while ((len = fis.read(buffer)) != -1) {
        fos.write(buffer, 0, len);
    }
    fis.close();
    fos.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

3. BufferedReader和BufferedWriter

BufferedReader和BufferedWriter是对FileReader和FileWriter的封装,提供了更高效的读写操作。例如:

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

4. Scanner

Scanner是一个可以从文件或输入流中读取数据的类,可以用于读取文件的内容。例如:

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

5. RandomAccessFile

RandomAccessFile是一个支持随机读写的二进制文件类,可以读写文件中任意位置的数据。例如:

try {
    RandomAccessFile raf = new RandomAccessFile("file.txt", "rw");
    raf.seek(10);
    raf.write("hello".getBytes());
    raf.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

综上所述,Java提供了多种文件读写方法,开发者可以根据需要选择合适的方法来处理文件数据。