gpt4 book ai didi

java - 将 CSV 中的数据读取到 Java 中的嵌套数组中

转载 作者:太空宇宙 更新时间:2023-11-04 12:28:14 25 4
gpt4 key购买 nike

我正在尝试将 .csv 文件转换为以下形式(具有任意数量的列):

a,b,c
d,e,f
g,h,i

像这样转换为 int[][]:

int[][] a = {{a,b,c},{d,e,f},{g,h,i}}

在Java中。我该如何去做呢?

最佳答案

我不会给出完整的答案(有些部分你应该能够自己查找),但是:

1) 使用split()将输入行拆分为字段。结果是String[] .

2)最直接的方法来转换每个Stringint是通过使用流。如果fieldsString[] ,那么你可以使用:

 int[] ints = Arrays.stream(fields).mapToInt(Integer::parseInt).toArray();

这假设没有任何解析错误。如果您想优雅地处理无效输入,您可能需要使用循环而不是流。

要详细说明:Arrays.stream创建一个“流”,为您提供所有 Strings在数组中。 mapToInt将流变成 IntStream ( int 的流;请注意,当元素具有像 int 这样的基本类型时,存在特殊的流类型)。它通过应用方法 Integer.parseInt 来实现此目的。 ,需要 String参数并返回inttoArrayIntStream上然后构建一个 int[]来自流。

3) 使用 ArrayList<int[]>保存所有行的数组,因为您事先不知道会有多少行。如果您想要int[][] ,您可以将 ArrayList 转换为稍后到数组。

关于java - 将 CSV 中的数据读取到 Java 中的嵌套数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38156884/

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