gpt4 book ai didi

java - 加载带有换行符的文件

转载 作者:行者123 更新时间:2023-11-30 04:55:50 29 4
gpt4 key购买 nike

这是我的代码,将内容加载为字节,然后将整数转换为十六进制值:

    try {
InputStream is = new FileInputStream(file);
while ((byteRead = is.read()) != -1) {
//System.out.print(((char) byteRead).charAt(0));
String temp = Character.toString((char) byteRead);
ta.append(Character.toString((char) byteRead));
System.out.print(Character.toString((char) byteRead));

ta2.append(Integer.toHexString(byteRead) + " ");

}
}

输出:41 42 43 d a 31 32 33

但似乎无法读取新行字符,我知道新行字符十六进制值为“0A”,我该如何修复它?

最佳答案

不,您正在读取换行符 - 即“d”后跟“a”是 - 回车符后跟换行符(“\r\n”)。

但是,您当前假设该文件采用 ISO-8859-1 格式。要读取文本文件,您几乎应该始终使用Reader,而不是直接从流中读取字节。我建议使用InputStreamReader,明确指定编码。例如:

InputStreamReader reader = new InputStreamReader(
new FileInputStream(file), "UTF-8");

您可能还想将读取器包装在 BufferedReader 中,这样可以轻松读取行。或者,我可以彻底推荐Guava中的实用程序类。 (特别是 CharStreams ),这使得处理这样的文件变得更加容易。

关于java - 加载带有换行符的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585935/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com