gpt4 book ai didi

java - 我如何将 split() 与大量元素一起使用,java

转载 作者:行者123 更新时间:2023-12-01 22:39:50 25 4
gpt4 key购买 nike

我需要处理一个大文本文件,每行有近400列,文件中有近800000行,文件中每行的格式如下:

340,9,2,3........5,2,洛杉矶

我想要做的是,对于每一行,如果最后一列是 LA,则打印该行的第一列。

我写了一个简单的程序来做到这一点

    BufferedReader bufr = new BufferedReader(new FileReader ("A.txt"));
BufferedWriter bufw = new BufferedWriter(new FileWriter ("LA.txt"));

String line = null;
while ((line = bufr.readLine()) != null) {
String [] text = new String [388];
text = line.split(",");
if (text [387] == args[2]) {

bufw.write(text[0]);
bufw.newLine();
bufw.flush();
}

}

bufw.close();
bufr.close();

但数组的长度似乎不能那么大,我收到了 java.lang.ArrayIndexOutOfBoundsException由于我使用 split(",") 来获取一行的最后一列,并且它将超出数组范围,我该如何处理它?谢谢。

最佳答案

text 不需要初始化,String.split 将创建一个正确大小的数组:

String[] text = line.split(",");

您还使用引用相等 (==) 来比较字符串。您应该使用 .equals():

if (text[387].equals(args[2])) { ... }

您可能会收到java.lang.ArrayIndexOutOfBoundsException,因为索引387太大。如果你想获取最后一个元素,请使用:

text[text.length - 1]

关于java - 我如何将 split() 与大量元素一起使用,java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26342830/

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