Package com.maxmind.db
Class Reader
java.lang.Object
com.maxmind.db.Reader
- All Implemented Interfaces:
Closeable
,AutoCloseable
public final class Reader extends Object implements Closeable
Instances of this class provide a reader for the MaxMind DB format. IP
addresses can be looked up using the
get
method.-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Reader.FileMode
The file mode to use when opening a MaxMind DB. -
Constructor Summary
Constructors Constructor Description Reader(File database)
Constructs a Reader for the MaxMind DB format, with no caching.Reader(File database, NodeCache cache)
Constructs a Reader for the MaxMind DB format, with the specified backing cache.Reader(File database, Reader.FileMode fileMode)
Constructs a Reader for the MaxMind DB format, with no caching.Reader(File database, Reader.FileMode fileMode, NodeCache cache)
Constructs a Reader for the MaxMind DB format, with the specified backing cache.Reader(InputStream source)
Constructs a Reader with no caching, as if in modeReader.FileMode.MEMORY
, without using aFile
instance.Reader(InputStream source, NodeCache cache)
Constructs a Reader with the specified backing cache, as if in modeReader.FileMode.MEMORY
, without using aFile
instance. -
Method Summary
Modifier and Type Method Description void
close()
/**void
countryToIP(String country, Writer out)
I2P - Write all IPv4 address ranges for the given country to out.Object
get(InetAddress ipAddress)
Looks up theaddress
in the MaxMind DB.Metadata
getMetadata()
-
Constructor Details
-
Reader
Constructs a Reader for the MaxMind DB format, with no caching. The file passed to it must be a valid MaxMind DB file such as a GeoIP2 database file.- Parameters:
database
- the MaxMind DB file to use.- Throws:
IOException
- if there is an error opening or reading from the file.
-
Reader
Constructs a Reader for the MaxMind DB format, with the specified backing cache. The file passed to it must be a valid MaxMind DB file such as a GeoIP2 database file.- Parameters:
database
- the MaxMind DB file to use.cache
- backing cache instance- Throws:
IOException
- if there is an error opening or reading from the file.
-
Reader
Constructs a Reader with no caching, as if in modeReader.FileMode.MEMORY
, without using aFile
instance.- Parameters:
source
- the InputStream that contains the MaxMind DB file.- Throws:
IOException
- if there is an error reading from the Stream.
-
Reader
Constructs a Reader with the specified backing cache, as if in modeReader.FileMode.MEMORY
, without using aFile
instance.- Parameters:
source
- the InputStream that contains the MaxMind DB file.cache
- backing cache instance- Throws:
IOException
- if there is an error reading from the Stream.
-
Reader
Constructs a Reader for the MaxMind DB format, with no caching. The file passed to it must be a valid MaxMind DB file such as a GeoIP2 database file.- Parameters:
database
- the MaxMind DB file to use.fileMode
- the mode to open the file with.- Throws:
IOException
- if there is an error opening or reading from the file.
-
Reader
Constructs a Reader for the MaxMind DB format, with the specified backing cache. The file passed to it must be a valid MaxMind DB file such as a GeoIP2 database file.- Parameters:
database
- the MaxMind DB file to use.fileMode
- the mode to open the file with.cache
- backing cache instance- Throws:
IOException
- if there is an error opening or reading from the file.
-
-
Method Details
-
get
Looks up theaddress
in the MaxMind DB.- Parameters:
ipAddress
- the IP address to look up.- Returns:
- the record for the IP address.
- Throws:
IOException
- if a file I/O error occurs.
-
countryToIP
I2P - Write all IPv4 address ranges for the given country to out.- Parameters:
country
- two-letter uppper-caseout
- caller must close- Throws:
IOException
- Since:
- 0.9.48
-
getMetadata
- Returns:
- the metadata for the MaxMind DB file.
-
close
/**Closes the database.
If you are using
FileMode.MEMORY_MAPPED
, this will not unmap the underlying file due to a limitation in Java'sMappedByteBuffer
. It will however set the reference to the buffer tonull
, allowing the garbage collector to collect it.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
- if an I/O error occurs.
-