Geotools 10.1 kullanarak bir şekil dosyasından öznitelikleri okuyorum. Tüm özellikler özelliğini yazdırdıktan sonra neden bir istisna attığını anlamıyorum. Bu kod neden geotools kullanarak bir şekil dosyasını okuduğunu bu özel durumu atar?
Bu
örnek kodudur:import java.io.File;
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.FeatureSource;
import org.geotools.feature.FeatureCollection;
import org.geotools.feature.FeatureIterator;
import org.opengis.feature.simple.SimpleFeature;
public class LayerBusinessTest {
public static void main(String[] args) throws IOException {
File file = new File("../../setup/test/shp/sscc/SSCC2010_WGS84.shp");
Map<String, Serializable> map = new HashMap<>();
map.put("url", file.toURI().toURL());
DataStore dataStore = DataStoreFinder.getDataStore(map);
String typeName = dataStore.getTypeNames()[0];
FeatureSource source = dataStore.getFeatureSource(typeName);
FeatureCollection collection = source.getFeatures();
FeatureIterator<SimpleFeature> results = collection.features();
try {
while (results.hasNext()) {
SimpleFeature feature = (SimpleFeature) results.next();
String code = feature.getAttribute("Codigo_SSC").toString();
System.out.println(code);
}
} finally {
results.close();
}
}
}
İstisna:
Exception in thread "main" java.lang.IllegalArgumentException: Expected requestor [email protected]c9b619 to have locked the url but it does not hold the lock for the URL
at org.geotools.data.shapefile.files.ShpFiles.unlockRead(ShpFiles.java:429)
at org.geotools.data.shapefile.files.FileChannelDecorator.implCloseChannel(FileChannelDecorator.java:149)
at java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:115)
at org.geotools.data.shapefile.dbf.DbaseFileReader.close(DbaseFileReader.java:279)
at org.geotools.data.shapefile.ShapefileFeatureReader.close(ShapefileFeatureReader.java:248)
at org.geotools.data.store.ContentFeatureCollection$WrappingFeatureIterator.close(ContentFeatureCollection.java:154)
at LayerBusinessTest.main(LayerBusinessTest.java:39)
Bu aynı hatayı alıyorum. Nasıl çözersiniz? – shorif2000
@sharif Read cevabı doğru olarak işaretlendi. – angelcervera