File upload Wicket FileUpload.getInputStream抛出nullPointerExceopti

File upload Wicket FileUpload.getInputStream抛出nullPointerExceopti,file-upload,wicket,File Upload,Wicket,我有一个使用Wicket FileUpload类读取文件的方法 public int lineCountOfFile() throws IOException { int count = 0; BufferedReader buffReader = new BufferedReader(new InputStreamReader(upload.getInputStream())); CSVReader reader = new CSVReader(buf

我有一个使用Wicket FileUpload类读取文件的方法

public int lineCountOfFile() throws IOException
{
    int count = 0;
    BufferedReader buffReader =
        new BufferedReader(new InputStreamReader(upload.getInputStream()));

    CSVReader reader = new CSVReader(buffReader, ',');

    while(reader.readNext() != null )
    {
        count++;
    }

    return count;
}
当文件较小时,可能小于50行。。我没有问题。。但我在一个大文件中测试阅读,所以我复制并粘贴了一堆行,可能超过100行

当我尝试读取包含更多行的文件时,会出现以下错误:

线程thread-12 java.lang.NullPointerException中出现异常 位于org.apache.wicket.markup.html.form.upload.FileUpload.getInputStreamFileUpload.java:212 位于com.wicket.BulkLoadPage.lineCountOfFileBulkLoadPage.java:557 位于com.wicket.BulkLoadPage.processLineBulkLoadPage.java:428 在com.wicket.BulkLoadPage.access$0BulkLoadPage.java:420 位于com.wicket.BulkLoadPage$BatchLoaderProcessingThread.runBulkLoadPage.java:1131 java:662

看起来是这样的: 缓冲读取器= 新建BufferedReadernew InputStreamReaderupload.getInputStream


问题是什么?有没有什么新的想法?谢谢

问题是数据交织。我通过同步这些方法解决了这个问题

请提供定义变量“upload”的代码段。例外情况可能是这样的。嗨,马丁,我终于有机会再看一遍,它看起来像是数据交错的问题。。我最终使用了synchronized,解决了这个问题。好的,你解决了这个问题。