public Stream stream()

in baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java [37:73]


  public Stream<GeonamesRecord> stream(InputStream inputStream) throws IOException {
    CsvMapper mapper = new CsvMapper();

    CsvSchema schema = CsvSchema.builder()
        .addColumn("geonameid")
        .addColumn("name")
        .addColumn("asciiname")
        .addColumn("alternatenames")
        .addColumn("latitude")
        .addColumn("longitude")
        .addColumn("featureClass")
        .addColumn("featureCode")
        .addColumn("countryCode")
        .addColumn("cc2")
        .addColumn("admin1Code")
        .addColumn("admin2Code")
        .addColumn("admin3Code")
        .addColumn("admin4Code")
        .addColumn("population")
        .addColumn("elevation")
        .addColumn("dem")
        .addColumn("timezone")
        .addColumn("modificationDate")
        .build()
        .withColumnSeparator('\t')
        .withoutQuoteChar();

    var reader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
    MappingIterator<GeonamesRecord> recordIterator = mapper
        .readerFor(GeonamesRecord.class)
        .with(schema)
        .readValues(reader);
    Spliterator<GeonamesRecord> recordSpliterator =
        Spliterators.spliteratorUnknownSize(recordIterator, 0);

    return StreamSupport.stream(recordSpliterator, false);
  }