导入.txt或.csv文件并存储在多维数组中的最佳方法

时间:2013-04-02 19:11:08

标签: multidimensional-array text-files import-from-csv

我整个上午都在网站上搜索过,但没有找到适合我的答案。如果还有其他答案,请原谅。这可能是一个简单的问题,但由于某种原因,它让我难以理解。我有一个.csv文件(虽然没有限制,它可能是.txt文件或我想要的任何东西),现在只有两个值,即幅度和频率(稍后会有更多)。我编写了一个类来将一列导入到一个数组中,以为我可以轻松地完成第二列。没那么容易。这是单个数组的代码。任何有关如何将其转换为多维数组的帮助将不胜感激。

public static ArrayList<Integer> readData(String filename) throws FileNotFoundException {
    Scanner scanner = new Scanner(new File(filename));
    ArrayList<Integer> aList = new ArrayList<>();
    while(scanner.hasNextInt()) {
        aList.add(scanner.nextInt());         
        }
    return aList;
}

这是我的主要课程。基本上我需要采取任何值并暂时将它们存储在多维数组中。然后它们将通过MODBUS和保持寄存器传递给控制器​​。

public static void main(String[] args) throws FileNotFoundException, Exception {

    ArrayList<Integer> aList = BrushSealDataFactory.readData("AmplitudeFrequency.csv");
    for (int i = 0; i < aList.size(); i++) {
        System.out.println(aList.get(i));
    }

    int[] aArray = new int[aList.size()];
    for (int i = 0; i < aList.size(); i++) {
        aArray[i] = aList.get(i);
    }     

1 个答案:

答案 0 :(得分:1)

这是使用java将文件拆分为二维数组的一个很好的例子:

CSV data to 2d array java

请注意将值正确地转换为您需要的任何格式。