處理大文件時,可以考慮使用流式處理來避免一次性加載整個文件到內存中。以下是一種處理大文件的方法:
ObjectMapper objectMapper = new ObjectMapper();
try (JsonParser parser = objectMapper.getFactory().createParser(new File("large_file.json"))) {
while (parser.nextToken() != null) {
JsonNode node = parser.readValueAsTree();
// 處理GeoJSON對象
}
} catch (IOException e) {
e.printStackTrace();
}
ObjectMapper objectMapper = new ObjectMapper();
try (JsonParser parser = objectMapper.getFactory().createParser(new File("large_file.json"));
JsonGenerator generator = objectMapper.getFactory().createGenerator(new File("output_file.json"), JsonEncoding.UTF8)) {
while (parser.nextToken() != null) {
JsonNode node = parser.readValueAsTree();
generator.writeTree(node);
}
} catch (IOException e) {
e.printStackTrace();
}
通過以上方法,可以有效處理大文件的GeoJSON數據而不會導致內存溢出或性能問題。