我在第
NullPointerException
行得到了System.out.println(record.get("TemperatureF"))
。我不知道为什么。 我认为record =coldestHourInFile(parser);
不能初始化记录对象,因为如果我创建另一个CSVRecord
对象并通过该对象初始化记录对象,则它可以正常工作。
public void testMultiplefile()
{
DirectoryResource dr=new DirectoryResource();//for accessing multiple csv files
CSVRecord record =null;
File f1=null;
for(File f:dr.selectedFiles())
{
FileResource fr=new FileResource(f);//c
CSVParser parser=fr.getCSVParser();
if(record==null)
{
record=coldestHourInFile(parser);
f1=f;
}
else
{
if(Double.parseDouble(record.get("TemperatureF")) >
Double.parseDouble(coldestHourInFile(parser).get("TemperatureF")))
{
f1=f;
record=coldestHourInFile(parser);//changing record reference
}
}
}
System.out.println(f1.getName());//printing csv file name
System.out.println(record.get("TemperatureF"));//printing record temperature column
}
查看此行:
record=coldestHourInFile(parser);
如果colerstHourInFile返回null,则在程序的最后一行中将得到NullPointerException。