gpt4 book ai didi

java - 在java中读取换行符

转载 作者:行者123 更新时间:2023-12-01 14:33:39 24 4
gpt4 key购买 nike

我正在附加和流式传输一堆文件,并且我想修剪第一个文件之后的标题行。在 Windows 上,以下 java 代码添加了一个空行,我在 notepad++ 中看到乱码。有任何修复/建议吗?谢谢。

    private int updateHeader(byte[] buffer) throws UnsupportedEncodingException {
if (first) {
return buffer.length;
}
String s, s2;
s = new String(buffer, "UTF-8");
int k = s.indexOf(System.getProperty("line.separator"), 0);
s2 = s.substring(k + 1);
byte[] buffer2 = s2.getBytes("UTF-8");
System.arraycopy(buffer2, 0, buffer, 0, buffer2.length);
return buffer2.length;
}

最佳答案

我的猜测是你应该这样做:

...
String separator = System.getProperty("line.separator");
int k = s.indexOf(separator, 0);
s2 = s.substring(k + separator.length());
s2 = s2.trim();
...

Windows 行分隔符长度超过 1 个字符 (CR + LF),而 Unix 则基于 this 的 LF 。此外,如果您跨平台移动文件,这可能会很棘手。

编辑我不确定您所看到的是什么,因为我没有这些文件,但如果您看到奇怪的字符,您也可以尝试修剪子字符串。您确定文件的编码正确并且您正在正确读取它们吗?

关于java - 在java中读取换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16672590/

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