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

Java函数中如何读取和写入文件

发布时间:2023-09-03 08:45:12

在Java中,可以使用java.io包中的类来进行文件的读取和写入操作。下面是一些常见的文件读取和写入方法的示例。

读取文件:

1. 使用BufferedReader类逐行读取文本文件:

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

2. 使用Scanner类读取文件中的单词或数字:

try {
    Scanner scanner = new Scanner(new File("file.txt"));
    while (scanner.hasNext()) {
        String word = scanner.next();
        System.out.println(word);
    }
    scanner.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

写入文件:

1. 使用BufferedWriter类向文本文件写入内容:

try {
    BufferedWriter writer = new BufferedWriter(new FileWriter("file.txt"));
    writer.write("Hello, world!");
    writer.newLine();
    writer.write("This is a test.");
    writer.close();
} catch (IOException e) {
    e.printStackTrace();
}

2. 使用PrintWriter类向文件中写入文本或格式化的输出:

try {
    PrintWriter writer = new PrintWriter("file.txt");
    writer.println("Hello, world!");
    writer.printf("Value: %.2f", 3.14159);
    writer.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

对于二进制文件(如图片、音频等),可以使用FileInputStreamFileOutputStream来进行读取和写入操作。

读取二进制文件:

try {
    FileInputStream inputStream = new FileInputStream("image.jpg");
    byte[] buffer = new byte[1024];
    int length;
    while ((length = inputStream.read(buffer)) != -1) {
        // 处理读取的数据
    }
    inputStream.close();
} catch (IOException e) {
    e.printStackTrace();
}

写入二进制文件:

try {
    FileOutputStream outputStream = new FileOutputStream("image.jpg");
    byte[] data = {0, 1, 2, 3};
    outputStream.write(data);
    outputStream.close();
} catch (IOException e) {
    e.printStackTrace();
}

需要注意的是,在进行文件读取和写入操作时,需要处理可能出现的异常,如FileNotFoundExceptionIOException等。同时,最好在读取或写入完成后关闭文件流,以释放系统资源。