所以我有一个CSV文件,看起来像这样:
LS1312, AWFXQA, -12107909
LS1313, VEDSBJV, -55003726
LS1314, UCRQSE, -1711111
因此我想知道如何存储行的第一个元素(例如LS1312,LS1313(进入我的第一个ArrayList,第二个元素(AWFXQA,VEDSBJV(进入第二个ArrayList,最后一个元素(-12107909,-55003726(进入第三个ArrayList?这就是我现在所拥有的:我设法读取了该文件,但不确定如何将元素存储在其各自的Arraylist中。
public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new File(args[0]));
scanner.useDelimiter(",");
ArrayList < String > arrlist1 = new ArrayList < >();
ArrayList < String > arrlist2 = new ArrayList < >();
ArrayList < String > arrlist3 = new ArrayList < >();
while (scanner.hasNext()) {
arrlist1.add(scanner.next());
}
scanner.close();
}
您可以使用通用CSV库:
简单:
Reader in = new FileReader("yourFile.csv");
Iterable<CSVRecord> records = CSVFormat.RFC4180.parse(in);
for (CSVRecord record : records) {
arrlist1.add(record.get(0));
arrlist2.add(record.get(1));
arrlist3.add(record.get(2));
}
您应该使用split()
方法来分割行并分配给等效数组
public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new File(args[0]));
ArrayList<String> arrlist1 = new ArrayList<>();
ArrayList<String> arrlist2 = new ArrayList<>();
ArrayList<String> arrlist3 = new ArrayList<>();
String[] split;
while (scanner.hasNextLine()) {
split= scanner.nextLine().split(",");
arrlist1.add(split[0]);
arrlist2.add(split[1]);
arrlist3.add(split[2]);
}
scanner.close();
}