gpt4 book ai didi

JAVA:如何在制表符分隔的文本文件中读取很长的行

转载 作者:行者123 更新时间:2023-12-01 09:59:21 25 4
gpt4 key购买 nike

我想读取一个 .txt 文件,该文件是制表符格式的表格,如下所示:

1    ABC    short text
2 DEF very very long text....
3 GHI short text
4 JKL short text

问题是,当文本很长时,不会读取整行(这意味着只有几 KB,而不是 GB 左右;-))。我使用这段代码来进行阅读:

try {
InputStream fis = new FileInputStream(file.getAbsolutePath());
InputStreamReader isr = new InputStreamReader(fis, Charset.forName("ISO-8859-1"));
BufferedReader br = new BufferedReader(isr);

while ((line = br.readLine()) != null) {
String[] values = line.split("\t", -1); // don't truncate empty fields
System.out.println(values[0] + " " + values[1] + " " + values[2]);
}
}

为了更好地解释问题:上表的结果是这样的(不应该是这样):

1    ABC    short text
2 DEF very very lo

最佳答案

您可以编写一个更复杂的解析器,它一次读取一个字符,直到将这些字符放入缓冲区,直到遇到 TAB 或 EOL。在 TAB 处,处理缓冲区,增加列计数,然后清除缓冲区。在 EOL 时,处理缓冲区,将列计数设置为 0,然后清除缓冲区。

关于JAVA:如何在制表符分隔的文本文件中读取很长的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36942538/

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