gpt4 book ai didi

java - 如何从文件中读取一组字节并将它们转换为字母?

转载 作者:行者123 更新时间:2023-11-30 03:37:03 24 4
gpt4 key购买 nike

我正在尝试从包含一系列字节的文件中读取文本,并希望将它们转换回字母/数字以供再次使用。在搜索 StackOverflow 或 Google 时,我没有找到合适的方法来执行此操作。为了说明我的意思,这是我的代码:

FileReader fileReader = new FileReader("test.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
String lineFromFile = bufferedReader.readLine();
System.out.println("From File: " + lineFromFile);

OUTPUT:

来自文件:[78, 97, 109, 101, 32, 116, 101, 115, 116, 32, 99, 97, 114, 100, 78, 111, 32, 54, 55, 56, 56、55、53、55、49、57、32、67、117、114、114、101、110、116、32、66、97、108、97、110、99、101、32、51、55、 48, 32, 111, 118, 101, 114, 100, 114, 97, 102, 116, 32, 102, 97, 108, 115, 101, 32, 111, 118, 101, 114, 68, 114, 97, 102, 116, 76, 105, 109, 105, 116, 32, 48, 32, 112, 105, 110, 32, 50, 53, 50, 53]

这些字节代表我之前在从另一个 Java 程序将它们写入文件之前编码的字母/数字。

我尝试了什么?

byte[] bytes = lineFromFile.split("\\s+");
String fileToString= new String(bytes, UTF_8);
System.out.println("text: " + fileToString);

给出的错误:

error: incompatible types: String[] cannot be converted to byte[]
byte[] bytes = text.split("\\s+");
^

如果有人可以建议一种方法来做到这一点,或者甚至是一种更好的编码方法,从文件中读取后更容易解码,那将非常有帮助!

最佳答案

您将字符写为数字和文本,而不是二进制。您需要将这些数字作为文本读取并将其转换回字符。

String lineFromFile = bufferedReader.readLine();
// strip out the `[` and `]`
lineFromFile = lineFromFile.substring(1, lineFromFile.length()-1);
StringBuilder sb = new StringBuilder();
for(String s: lineFromFile.split(", "))
sb.append((char) Integer.parseInt(s));
String text = sb.toString();

关于java - 如何从文件中读取一组字节并将它们转换为字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27616918/

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