gpt4 book ai didi

java - TSV 文件转换为二维数组 - java

转载 作者:行者123 更新时间:2023-12-01 23:20:00 26 4
gpt4 key购买 nike

我有一个 tsv txt 文件,其中包含 3 行数据。

看起来像:

HG  sn  FA  
PC 2 16:0
PI 1 18:0
PS 3 20:0
PE 2 24:0
26:0
16:1
18:2

我想用java将这个文件读入二维数组。

但是无论我如何尝试,我总是收到错误。

File file = new File("table.txt");
Scanner scanner = new Scanner(file);
final int maxLines = 100;
String[][] resultArray = new String[maxLines][];
int linesCounter = 0;
while (scanner.hasNextLine() && linesCounter < maxLines) {
resultArray[linesCounter] = scanner.nextLine().split("\t");
linesCounter++;
}

System.out.print(resultArray[1][1]);

我不断收到此错误

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at exercise.exercise2.main(exercise2.java:31)

第 31 行是

 System.out.print(resultArray[1][1]);

我找不到此错误不断出现的任何原因

最佳答案

在你的例子中,我会使用 Java 7 Files.readAllLines

类似于:

String[][] resultArray;

List<String> lines = Files.readAllLines(Paths.get("table.txt"), StandardCharsets.UTF_8);

//lines.removeAll(Arrays.asList("", null)); // <- remove empty lines

resultArray = new String[lines.size()][];

for(int i =0; i<lines.size(); i++){
resultArray[i] = lines.get(i).split("\t"); //tab-separated
}

输出:

[[HG, sn  FA  ], [PC, 2, 16:0], [PI, 1, 18:0], [PS, 3, 20:0], [PE, 2, 24:0], [, , 26:0], [, , 16:1], [, , 18:2]]

这是文件(按编辑并抓取内容,它应该以制表符分隔):

HG sn FA
电脑2 16:0PI 1 18:0PS 3 20:0体育比赛 2 24:0 26:0 16:1 18:2

[编辑]

要获得16:1:

System.out.println(root[6][2]);

关于java - TSV 文件转换为二维数组 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20744068/

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