gpt4 book ai didi

java - 跳过插入 csv 文件的第一行

转载 作者:行者123 更新时间:2023-12-02 00:32:15 24 4
gpt4 key购买 nike

我有一个方法,可以从 .csv 文件中获取数据并将其向后放入数组中(第一行位于最后一个数组槽中)但是我希望 .csv 文件中的第一行不在数组中。我将如何实现这个目标?这是迄今为止我的代码:

public static String[][] parse(String symbol) throws Exception{

String destination = "C:/"+symbol+"_table.csv";

LineNumberReader lnr = new LineNumberReader(new FileReader(new File(destination)));
lnr.skip(Long.MAX_VALUE);

String[][] stock_array = new String[lnr.getLineNumber()][3];

try{
BufferedReader br = new BufferedReader(new FileReader(destination));
String strLine = "";
StringTokenizer st = null;

int line = lnr.getLineNumber()-1;

while((strLine = br.readLine()) != null){
st = new StringTokenizer(strLine, ",");

while(st.hasMoreTokens()){
stock_array[line][0] = st.nextToken();
st.nextToken();
stock_array[line][1] = st.nextToken();
stock_array[line][2] = st.nextToken();
st.nextToken();
st.nextToken();
st.nextToken();
}
line--;
}
}
catch(Exception e){
System.out.println("Error while reading csv file: " + e);
}
return stock_array;
}

最佳答案

您可以通过读入而不执行任何操作来跳过第一行。在 while 循环之前执行此操作:

br.readLine();

为了确保数组大小正确并且行存储在正确的位置,您还应该进行以下更改:

String[][] stock_array = new String[lnr.getLineNumber()-1][3];
...
int line = lnr.getLineNumber()-2;

关于java - 跳过插入 csv 文件的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8719629/

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