gpt4 book ai didi

java - 在转换为 Java 中的字符串之前,我应该如何终止一个 char 数组

转载 作者:行者123 更新时间:2023-11-29 09:51:21 26 4
gpt4 key购买 nike

我正在从文件中读取一个 char 数组,然后使用 String 构造函数将其转换为字符串。

read = fromSystem.read(b);
String s = new String(b);

这段代码已经在程序中存在了很长时间并且运行良好,尽管直到现在它一直在读取数组的完整大小,每次 255 个字符。现在我将这个类重新用于另一个目的,它读取的内容大小各不相同。我遇到的问题是,如果它读取 20 个字符,然后是 15 个字符,则前一次读取的最后 5 个字符仍在字节数组中。为了克服这个问题,我在读取的内容末尾添加了一个空字符。

read = fromSystem.read(b);
if (read < bufferLength) {
b[read] = '\0';
}
String s = new String(b);

如果我当时做了

System.out.println(b);

有效,缓冲区末尾不显示。但是,如果我将该字符串传递到消息对话框中,它仍然会显示。有没有其他方法可以终止字符串?

最佳答案

使用:

String s = new String(b, 0, read)

相反。

关于java - 在转换为 Java 中的字符串之前,我应该如何终止一个 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1487023/

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