Wechat: yu389741| Email: gisdqy@163.com

Shop:https://www.giserdqy.com/shop

使用GEOTools读取dbf文件


前面讲到使用SimplefeatureStore.addFeatures()这个方法来把数据装入空SHP文件内,那么反过来,要怎么读取SHP文件内的属性数据呢?这主要用到DbaseFileReader这一个类。通过这个类可以读取所有字段每一行的数据,然后赋值到一个数组内进行输出。


具体的代码如下:
   
public static void DbaseFileReader() 
    {
DbaseFileReader reader = null; 
   try {
 
   
//第三个参数是使用一个charset类型的实例,使用的参数是编码类型
    reader = new
DbaseFileReader(new ShpFiles(path), false,
Charset.forName(“GBK”));
     
 DbaseFileHeader header = reader.getHeader();
 
     
 //返回字段的数量
     
 int numFields = header.getNumFields();
     
 System.out.println(numFields);
     
 //迭代读取记录  
     
 while (reader.hasNext()) 
     
 {  
     
     try {
     
     
   Object[] entry =
reader.readEntry();  
     
     
   for (int i=0; i
     
     
   {
     
     
     
 String title = header.getFieldName(i);
 
     
     
     
 Object value = entry[i];  
     
     
     
 System.out.print(title+”=”+value+”\t”);
 
     
     
   }
     
     
   System.out.println();
     
   
 } 
     
     catch
(Exception e) 
     
     {
 
     
     
   e.printStackTrace();
 
     
     }
 
     
 }  
   } 
   catch (Exception
e) 
   {
 
     
 e.printStackTrace();  
   } 
 
 finally 
   {
 
     
 if (reader != null) 
     
 {  
     
     //关闭
 
     
   
 try 
     
   
 {reader.close();} 
     
     catch
(Exception e) {}  
     
 }  
   }
 
    }

转载自:https://blog.csdn.net/SCNU_Arain/article/details/84879715