Java查看文件编码格式并打印字节流 - 避免乱码
在Java中,可以使用InputStreamReader类来查看文件的编码格式并读取其字节流。以下是一个示例代码:
import java.io.*;
public class FileEncodingExample {
public static void main(String[] args) {
String filePath = "path/to/file.txt"; // 替换为文件的实际路径
try (InputStream inputStream = new FileInputStream(filePath);
InputStreamReader reader = new InputStreamReader(inputStream)) {
String encoding = reader.getEncoding();
System.out.println("文件编码格式:" + encoding);
int data;
while ((data = reader.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上述代码中,首先创建一个FileInputStream对象来读取文件的字节流。然后,将其传递给InputStreamReader对象,该对象将字节流转换为字符流。通过调用getEncoding()方法,可以获取文件的编码格式。最后,使用read()方法逐个读取字符并打印。
请注意,如果文件的编码格式不是Java虚拟机默认的编码格式(通常是UTF-8),则可能会出现乱码。在这种情况下,可以使用InputStreamReader的另一个构造函数,指定文件的正确编码格式,例如:
InputStreamReader reader = new InputStreamReader(inputStream, "编码格式");
原文地址: https://www.cveoy.top/t/topic/pEtT 著作权归作者所有。请勿转载和采集!