|
发表于 2023-4-13 22:15:25
|
显示全部楼层
当您使用Java I/O流读取文件时,可能会遇到编码问题。在读取和写入过程中,如果没有正确处理编码,可能会导致字符显示错误。例如,简体汉字可能会显示为繁体汉字。为了解决这个问题,请确保在读取和写入文件时使用正确的字符集(如UTF-8)。以下是一个使用BufferedReader和BufferedWriter正确读取和写入文件的示例:
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- public class Main {
- public static void main(String[] args) {
- String inputFilePath = "path/to/input/file.txt";
- String outputFilePath = "path/to/output/file.txt";
-
- try {
- readAndWriteFile(inputFilePath, outputFilePath);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public static void readAndWriteFile(String inputFilePath, String outputFilePath) throws IOException {
- File inputFile = new File(inputFilePath);
- File outputFile = new File(outputFilePath);
- try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(inputFile), "UTF-8"));
- BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), "UTF-8"))) {
- String line;
- while ((line = bufferedReader.readLine()) != null) {
- bufferedWriter.write(line);
- bufferedWriter.newLine();
- }
- }
- }
- }
复制代码
此示例中,我们使用UTF-8字符集读取输入文件并将其内容写入输出文件。请将path/to/input/file.txt和path/to/output/file.txt替换为您实际的文件路径。 |
|