📄 zb1filereader.java
字号:
import java.io.*;
import java.awt.geom.*;
import java.util.*;
public class Zb1FileReader
{
private double xmax,ymax,xmin,ymin;
private long maxPointNum;
private ArrayList geomData;
public Zb1FileReader()
{
geomData = new ArrayList();
}
public ArrayList getGeomData()
{
return geomData;
}
public long getMaxPointNum()
{
return maxPointNum;
}
public Rectangle2D.Double getBound()
{
Rectangle2D.Double bound = new Rectangle2D.Double(xmin,ymax,xmax-xmin,ymax-ymin);
return bound;
}
public void readData(File filePath)
{
System.out.println("reading file : " + filePath);
short flag = 0;
try
{
BufferedReader in = new BufferedReader(new FileReader(filePath));
short pointNum, i;
double x, y;
String s;
while((s = in.readLine()) != null)
{
ZbaFeature feature = new ZbaFeature();
StringTokenizer st = new StringTokenizer(s);
feature.setCode1(Short.parseShort(st.nextToken()));
feature.setCode2(Short.parseShort(st.nextToken()));
s = in.readLine();
StringTokenizer st1 = new StringTokenizer(s);
feature.setCode3(Short.parseShort(st1.nextToken()));
pointNum = Short.parseShort(st1.nextToken());
feature.setPointNum(pointNum);
if(pointNum > maxPointNum)
maxPointNum = pointNum;
for(i = 0; i < pointNum; i++)
{
s = in.readLine();
StringTokenizer st2 = new StringTokenizer(s);
x = Double.parseDouble(st2.nextToken());
y = Double.parseDouble(st2.nextToken());
if(flag == 0)
{
xmax=x;xmin=x;ymax=y;ymin=y;flag=1;
}
else
{
if(x>xmax) xmax=x;
if(x<xmin) xmin=x;
if(y>ymax) ymax=y;
if(y<ymin) ymin=y;
}
Point2D.Double pt = new Point2D.Double(x,y);
feature.addPoint(pt);
}
geomData.add(feature);
}
}
catch(Exception e)
{
System.out.println("getGeomData()" + e);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -