以下是我截取的部分代码:
while(br.readLine()!=null){
String[] tmp = br.readLine().split(",");
double a= Double.parseDouble(tmp[0]);
double b= Double.parseDouble(tmp[1]);
double c= Double.parseDouble(tmp[2]);
if(a!=1.000000){
Cartographic BB=new Cartographic(Math.acos(a/Math.sqrt(a*a+b*b)),(PI/2)*Math.acos(c/Math.sqrt(a*a+b*b+c*c)),Math.sqrt(a*a+b*b+c*c)-6375000.0);
positions5.add(BB);
i+=1;
if(i>9)
{
PolylinePrimitive line5 = new PolylinePrimitive();
line5.setCartographic(earth, positions5);
line5.setColor(Color.RED);
line5.setWidth(2F);
SceneManager.getPrimitives().add(line5);
i=1; //下一段都加一个点
positions5=new ArrayList<Cartographic>();
positions5.add(BB); //下一段线接着上一段结尾
}
}else
{if(i!=1&&i!=0) //防止下一段只有一个点(上一段的点),即碰到第一个点为a=1.0
{PolylinePrimitive line5 = new PolylinePrimitive();
line5.setCartographic(earth, positions5);
line5.setColor(Color.RED);
line5.setWidth(2F);
SceneManager.getPrimitives().add(line5);
positions5=new ArrayList<Cartographic>(); //刷新positions5
}
else {positions5=new ArrayList<Cartographic>();i=0;} //防止此点进入下一段线
}
原文数据存储格式:
当我读取数据时,如果原文件中结束符出现在数据行的末尾,读取下一行时为NULL,正常 。但是当原文内容的结束符出现在最后一行数据的下一行开始处时,读取不为NULL,赋值就产生异常!
如: