Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将值字符串[]传递给字符串[]值_Java_String_Opencsv - Fatal编程技术网

Java 将值字符串[]传递给字符串[]值

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[]具有

我有以下代码,其中一个.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[]具有空值,为什么不传递内容? 提前谢谢

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。查看重新格式化的代码。这不是更容易阅读吗?如果使用一致的格式,您会发现更容易发现错误。请查看重新格式化的代码。这不是更容易阅读吗?如果使用一致的格式,您会发现更容易发现错误。