我查了Shp文件文件头的构造,然后编了个程序:
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;public class SHP {
  int FileCode;
      int Unused;
      int FileLength;
      int Version;
      int ShapeType;
      double Xmin;
      double Ymin;
      double Xmax;
      double Ymax;
      double Zmin;
      double Zmax;
      double Mmin;
      double Mmax;
      public void road_SHP_top()throws IOException {
      DataInputStream input=new DataInputStream(new FileInputStream("E:\\MapZhouPlusTest\\TMM\\22.shp"));
      FileCode=input.readInt();
      for(int i=0;i<5;i++){
      Unused= input.readInt();//unused
      }
      FileLength=input.readInt();
      Version=input.readInt();
      ShapeType=input.readInt();
      Xmin=input.readDouble();
      Ymin=input.readDouble();
      Xmax=input.readDouble();
      Ymax=input.readDouble();
      Zmin= input.readDouble();
      Zmax=input.readDouble();
      Mmin= input.readDouble();
      Mmax= input.readDouble();
      System.out.println(FileCode+" ");
      System.out.println(FileLength+" ");
      System.out.println(Version+" ");
      System.out.println(ShapeType+" ");
      System.out.println(Xmin+" ");
      System.out.println(Ymin+" ");
      System.out.println(Xmax+" ");
      System.out.println(Ymax+" ");
      System.out.println(Zmin+" ");
      System.out.println(Zmax+" ");
      System.out.println(Mmin+" ");
      System.out.println(Mmax+" ");
     }
      
}
结果输出:
9994 
158 
-402456576 
83886080 
6.749104873219668E187 
-2.3063887677012107E-207 
3.105922645969358E231 
3.559434626267299E-293 
0.0 
0.0 
0.0 
0.0 
为什么第四行输出的是83886080?应该是1,3,5...的数,怎么会是这么大的数呢?