package org.geotools.property; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Serializable; import java.util.HashMap; import java.util.Map; import org.geotools.data.DataStore; import org.geotools.data.DataStoreFinder; import org.geotools.data.FeatureReader; import org.geotools.data.Query; import org.geotools.data.Transaction; import org.opengis.feature.simple.SimpleFeature; import org.opengis.feature.simple.SimpleFeatureType; public class PropertyExamples { static File directory; public static void main(String[] args) { File tmp = null; try { tmp = File.createTempFile("example", ""); boolean exists = tmp.exists(); if (exists) { System.err.println("Removing tempfile " + tmp); tmp.delete(); } boolean created = tmp.mkdirs(); if (!created) { System.err.println("Could not create " + tmp); System.exit(1); } File example = new File(tmp, "example.properties"); BufferedWriter writer = new BufferedWriter(new FileWriter(example)); writer.write("_=id:Integer,name:String,geom:Point"); writer.newLine(); writer.write("fid1=1|jody garnett|POINT(0 0)"); writer.newLine(); writer.write("fid2=2|brent|POINT(10 10)"); writer.newLine(); writer.write("fid3=3|dave|POINT(20 20)"); writer.newLine(); writer.write("fid4=4|justin deolivera|POINT(30 30)"); writer.newLine(); writer.close(); directory = tmp; try { example3(); } catch (Throwable t) { t.printStackTrace(); System.exit(1); } } catch (Exception e) { e.printStackTrace(); } finally { File list[] = tmp.listFiles(); for (int i = 0; i < list.length; i++) { list[i].delete(); } tmp.delete(); } } private static void example3() throws IOException { System.out.println("example3 start\n"); // example3 start Map<String, Serializable> params = new HashMap<>(); params.put("directory", directory); DataStore datastore = DataStoreFinder.getDataStore(params); Query query = new Query("example"); FeatureReader<SimpleFeatureType, SimpleFeature> reader = datastore.getFeatureReader(query, Transaction.AUTO_COMMIT); try { int count = 0; while (reader.hasNext()) { SimpleFeature feature = reader.next(); System.out.println("feature " + count + ": " + feature.getID()); count++; } System.out.println("read in " + count + " features"); } finally { reader.close(); } // example3 end System.out.println("\nexample3 end\n"); } }