Java 将值字符串[]传递给字符串[]值
我有以下代码,其中一个.csv文件被逐行读取,并存储在字符串[]nextline中,其中nextline[I]由解析文件的相应内容填充。 我在读取.csv文件时没有遇到任何问题,但在将它们存储到另一个字符串[]中时确实遇到了问题,因为System.out.println()为所有行提供了以下结果:Java 将值字符串[]传递给字符串[]值,java,string,opencsv,Java,String,Opencsv,我有以下代码,其中一个.csv文件被逐行读取,并存储在字符串[]nextline中,其中nextline[I]由解析文件的相应内容填充。 我在读取.csv文件时没有遇到任何问题,但在将它们存储到另一个字符串[]中时确实遇到了问题,因为System.out.println()为所有行提供了以下结果: Nextline[1]=Jan 4, 2011 18:33:15.988422000 / predata=null / Nextline[4]=54 / size:0 如您所见,Strin[]具有
Nextline[1]=Jan 4, 2011 18:33:15.988422000 / predata=null / Nextline[4]=54 / size:0
如您所见,Strin[]具有空值,为什么不传递内容?
提前谢谢
public class Amostra {
int[] id = new int[20000];
String[] predata = new String[20000];
int[] size = new int[20000];
Amostra(String namefile) throws FileNotFoundException, IOException {
Csv2Array(namefile);
}
private void Csv2Array(String newfile) throws FileNotFoundException, IOException
{
String[] nextline;
int j = 0;
int i = 0;
CSVReader reader = new CSVReader(new FileReader(newfile), ';', '\'', 1);
while((nextline = reader.readNext()) != null){
predata[i] = nextline[1];
size[i] = Integer.parseInt(nextline[4]);
id[i] = i;
i++;
System.out.println("Nextline[1]=" + nextline[1] +
" / predata=" + predata[i] +
" / Nextline[4]=" + nextline[4] +
" / size:" + size[i] + "\n");
}
}
}
您的
i++
语句位于System.out
之前,因此您实际上正在打印下一行(尚未解析)。您应该将i++
行移到系统之后。out
您的i++
语句位于系统之前。out
因此您实际上正在打印下一行(尚未解析)。您应该将i++
行移到系统之后。移出…我怎么会错过这一点?我尝试了很多东西…我需要睡觉。Thx;)+1-就是这样!甚至不需要看CSVReader
API……我怎么会错过呢?我尝试了很多东西…我需要睡觉。Thx;)+1-就是这样!甚至不需要查看CSVReader
API。查看重新格式化的代码。这不是更容易阅读吗?如果使用一致的格式,您会发现更容易发现错误。请查看重新格式化的代码。这不是更容易阅读吗?如果使用一致的格式,您会发现更容易发现错误。