将字符串数组的一个元素复制到另一个java中

时间:2018-03-07 15:44:43

标签: java arrays csv

嗨,我本质上是在尝试将一个数组的元素复制到另一个数组中。我有数组lineOfData,它保存来自csv文件(id,size,自定义标签)的数据,我想要一个只保存id的新数组id。我试过ids = lineOfData [0];但无济于事。这样做的最佳方式是什么?

Code:
public class Merge {
String filePath;

public Merge()  {

}


public static void main(String[] args) throws FileNotFoundException {
    Frame myFrame = new Frame();
    FileDialog fileBox = new FileDialog(myFrame, "Open", FileDialog.LOAD);
    fileBox.setVisible(true);
    String filename = fileBox.getFile();
    String directoryPath = fileBox.getDirectory();
    if ( filename !=null )
    {
        String filePath = directoryPath + filename;
        //testFile(filePath);
        mergeFile(filePath);
    }
}

public static void mergeFile(String... filePaths) throws FileNotFoundException {
    String[] lineOfData = null;
    String[] ids = null;

    for(String filePath : filePaths)
    {
        String path = filePath;
        Scanner scanner = new Scanner(new File(path));
        String columnTitle = scanner.nextLine();
        while(scanner.hasNextLine())
        {
            //scanner.useDelimiter(",");
            String line = scanner.nextLine();
            lineOfData = line.split(",");
            ids[0] = lineOfData[0];
            System.out.println(Arrays.toString(ids));
            }
        scanner.close();
    }


}

1 个答案:

答案 0 :(得分:0)

您提到您正在获取“价值ID在此位置只能为空”。这是因为您尚未初始化ids数组。现在,ids没有指向任何数组。为了解决这个问题,你

String line = scanner.nextLine();
lineOfData = line.split(",");
ids = new String[lineOfData.length];
ids[0] = lineOfData[0];

如果您要将lineOfData的所有值添加到ids,或

String line = scanner.nextLine();
lineOfData = line.split(",");
ids = new String[1];
ids[0] = lineOfData[0];

如果您只想将lineOfData的一个元素复制到ids

另外,请注意lineOfData也是从未指向任何数组开始的。但是,lineOfData = line.split(",");行修复了它,并使其指向一个字符串数组。询问您是否有任何问题。