gpt4 book ai didi

java - 二进制文件读取器 byte[] 到字符串的转换出错了?

转载 作者:行者123 更新时间:2023-12-02 00:20:51 25 4
gpt4 key购买 nike

我试图显示文件头中的内容,它应该是文本(文件的其余部分是二进制的),但是当我打印 strtemp 时,我得到:

strTemp: ??????

这是代码。

String fileName = "test.file";

URI logUri = new File(fileName).getAbsoluteFile().toURI();

BufferedInputStream in = new BufferedInputStream(new FileInputStream(new File(logUri)));

byte[] btemp = new byte[14];
in.read(btemp);

String strtemp = "";

for(int i = 0; i < btemp.length; i+= 2) {
strtemp += String.valueOf((char)(((btemp[i]&0x00FF)<<8) + (btemp[i+1]&0x00FF)));
}

System.out.println("strTemp: " + strtemp);

如何让 strtemp 成为文件中的内容?并正确显示它?

最佳答案

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html 的构造函数摘要中可以看到您可以直接从字节初始化字符串。

您还应该提供源文件中的字符集。

关于java - 二进制文件读取器 byte[] 到字符串的转换出错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10993157/

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