Package org.apache.parquet.hadoop
Class ParquetFileReader
- java.lang.Object
-
- org.apache.parquet.hadoop.ParquetFileReader
-
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
CompressionConverter.TransParquetFileReader
public class ParquetFileReader extends Object implements Closeable
Internal implementation of the Parquet file reader as a block container
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.parquet.io.SeekableInputStreamfstatic StringPARQUET_READ_PARALLELISM
-
Constructor Summary
Constructors Constructor Description ParquetFileReader(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.Path filePath, List<BlockMetaData> blocks, List<org.apache.parquet.column.ColumnDescriptor> columns)Deprecated.will be removed in 2.0.0.ParquetFileReader(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path file, ParquetMetadataConverter.MetadataFilter filter)Deprecated.will be removed in 2.0.0.ParquetFileReader(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path file, ParquetMetadata footer)Deprecated.will be removed in 2.0.0.ParquetFileReader(org.apache.hadoop.conf.Configuration configuration, FileMetaData fileMetaData, org.apache.hadoop.fs.Path filePath, List<BlockMetaData> blocks, List<org.apache.parquet.column.ColumnDescriptor> columns)Deprecated.will be removed in 2.0.0.ParquetFileReader(org.apache.parquet.io.InputFile file, ParquetReadOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidappendTo(ParquetFileWriter writer)voidclose()BloomFilterReadergetBloomFilterDataReader(int blockIndex)BloomFilterReadergetBloomFilterDataReader(BlockMetaData block)org.apache.parquet.hadoop.DictionaryPageReadergetDictionaryReader(int blockIndex)org.apache.parquet.hadoop.DictionaryPageReadergetDictionaryReader(BlockMetaData block)StringgetFile()FileMetaDatagetFileMetaData()longgetFilteredRecordCount()ParquetMetadatagetFooter()org.apache.parquet.column.page.DictionaryPageReadStoregetNextDictionaryReader()Returns aDictionaryPageReadStorefor the row group that would be returned by callingreadNextRowGroup()or skipped by callingskipNextRowGroup().org.apache.hadoop.fs.PathgetPath()Deprecated.will be removed in 2.0.0; usegetFile()insteadlonggetRecordCount()List<BlockMetaData>getRowGroups()static ParquetFileReaderopen(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path file)Deprecated.will be removed in 2.0.0; useopen(InputFile)static ParquetFileReaderopen(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path file, ParquetMetadataConverter.MetadataFilter filter)Deprecated.will be removed in 2.0.0; useopen(InputFile,ParquetReadOptions)static ParquetFileReaderopen(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path file, ParquetMetadata footer)Deprecated.will be removed in 2.0.0static ParquetFileReaderopen(org.apache.parquet.io.InputFile file)Open afile.static ParquetFileReaderopen(org.apache.parquet.io.InputFile file, ParquetReadOptions options)Open afilewithoptions.static List<Footer>readAllFootersInParallel(org.apache.hadoop.conf.Configuration configuration, List<org.apache.hadoop.fs.FileStatus> partFiles)Deprecated.metadata files are not recommended and will be removed in 2.0.0static List<Footer>readAllFootersInParallel(org.apache.hadoop.conf.Configuration configuration, List<org.apache.hadoop.fs.FileStatus> partFiles, boolean skipRowGroups)Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)static List<Footer>readAllFootersInParallel(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus fileStatus)Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)static List<Footer>readAllFootersInParallel(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus fileStatus, boolean skipRowGroups)Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)static List<Footer>readAllFootersInParallelUsingSummaryFiles(org.apache.hadoop.conf.Configuration configuration, Collection<org.apache.hadoop.fs.FileStatus> partFiles, boolean skipRowGroups)Deprecated.metadata files are not recommended and will be removed in 2.0.0static List<Footer>readAllFootersInParallelUsingSummaryFiles(org.apache.hadoop.conf.Configuration configuration, List<org.apache.hadoop.fs.FileStatus> partFiles)Deprecated.metadata files are not recommended and will be removed in 2.0.0org.apache.parquet.column.values.bloomfilter.BloomFilterreadBloomFilter(ColumnChunkMetaData meta)Reads Bloom filter data for the given column chunk.org.apache.parquet.internal.column.columnindex.ColumnIndexreadColumnIndex(ColumnChunkMetaData column)org.apache.parquet.column.page.PageReadStorereadFilteredRowGroup(int blockIndex)Reads all the columns requested from the specified row group.static ParquetMetadatareadFooter(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus file)Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)static ParquetMetadatareadFooter(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus file, ParquetMetadataConverter.MetadataFilter filter)Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)static ParquetMetadatareadFooter(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.Path file)Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)static ParquetMetadatareadFooter(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.Path file, ParquetMetadataConverter.MetadataFilter filter)Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)static ParquetMetadatareadFooter(org.apache.parquet.io.InputFile file, ParquetMetadataConverter.MetadataFilter filter)Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)static ParquetMetadatareadFooter(org.apache.parquet.io.InputFile file, ParquetReadOptions options, org.apache.parquet.io.SeekableInputStream f)static List<Footer>readFooters(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus pathStatus)Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)static List<Footer>readFooters(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus pathStatus, boolean skipRowGroups)Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)static List<Footer>readFooters(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.Path path)Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)org.apache.parquet.column.page.PageReadStorereadNextFilteredRowGroup()Reads all the columns requested from the row group at the current file position.org.apache.parquet.column.page.PageReadStorereadNextRowGroup()Reads all the columns requested from the row group at the current file position.org.apache.parquet.internal.column.columnindex.OffsetIndexreadOffsetIndex(ColumnChunkMetaData column)org.apache.parquet.column.page.PageReadStorereadRowGroup(int blockIndex)Reads all the columns requested from the row group at the specified block.static List<Footer>readSummaryFile(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus summaryStatus)Deprecated.metadata files are not recommended and will be removed in 2.0.0voidsetRequestedSchema(org.apache.parquet.schema.MessageType projection)booleanskipNextRowGroup()
-
-
-
Field Detail
-
PARQUET_READ_PARALLELISM
public static String PARQUET_READ_PARALLELISM
-
f
protected final org.apache.parquet.io.SeekableInputStream f
-
-
Constructor Detail
-
ParquetFileReader
@Deprecated public ParquetFileReader(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.Path filePath, List<BlockMetaData> blocks, List<org.apache.parquet.column.ColumnDescriptor> columns) throws IOException
Deprecated.will be removed in 2.0.0.- Parameters:
configuration- the Hadoop conffilePath- Path for the parquet fileblocks- the blocks to readcolumns- the columns to read (their path)- Throws:
IOException- if the file can not be opened
-
ParquetFileReader
@Deprecated public ParquetFileReader(org.apache.hadoop.conf.Configuration configuration, FileMetaData fileMetaData, org.apache.hadoop.fs.Path filePath, List<BlockMetaData> blocks, List<org.apache.parquet.column.ColumnDescriptor> columns) throws IOException
Deprecated.will be removed in 2.0.0.- Parameters:
configuration- the Hadoop conffileMetaData- fileMetaData for parquet filefilePath- Path for the parquet fileblocks- the blocks to readcolumns- the columns to read (their path)- Throws:
IOException- if the file can not be opened
-
ParquetFileReader
@Deprecated public ParquetFileReader(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path file, ParquetMetadataConverter.MetadataFilter filter) throws IOException
Deprecated.will be removed in 2.0.0.- Parameters:
conf- the Hadoop Configurationfile- Path to a parquet filefilter- aParquetMetadataConverter.MetadataFilterfor selecting row groups- Throws:
IOException- if the file can not be opened
-
ParquetFileReader
@Deprecated public ParquetFileReader(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path file, ParquetMetadata footer) throws IOException
Deprecated.will be removed in 2.0.0.- Parameters:
conf- the Hadoop Configurationfile- Path to a parquet filefooter- aParquetMetadatafooter already read from the file- Throws:
IOException- if the file can not be opened
-
ParquetFileReader
public ParquetFileReader(org.apache.parquet.io.InputFile file, ParquetReadOptions options) throws IOException- Throws:
IOException
-
-
Method Detail
-
readAllFootersInParallelUsingSummaryFiles
@Deprecated public static List<Footer> readAllFootersInParallelUsingSummaryFiles(org.apache.hadoop.conf.Configuration configuration, List<org.apache.hadoop.fs.FileStatus> partFiles) throws IOException
Deprecated.metadata files are not recommended and will be removed in 2.0.0for files provided, check if there's a summary file. If a summary file is found it is used otherwise the file footer is used.- Parameters:
configuration- the hadoop conf to connect to the file system;partFiles- the part files to read- Returns:
- the footers for those files using the summary file if possible.
- Throws:
IOException- if there is an exception while reading footers
-
readAllFootersInParallelUsingSummaryFiles
@Deprecated public static List<Footer> readAllFootersInParallelUsingSummaryFiles(org.apache.hadoop.conf.Configuration configuration, Collection<org.apache.hadoop.fs.FileStatus> partFiles, boolean skipRowGroups) throws IOException
Deprecated.metadata files are not recommended and will be removed in 2.0.0for files provided, check if there's a summary file. If a summary file is found it is used otherwise the file footer is used.- Parameters:
configuration- the hadoop conf to connect to the file system;partFiles- the part files to readskipRowGroups- to skipRowGroups in the footers- Returns:
- the footers for those files using the summary file if possible.
- Throws:
IOException- if there is an exception while reading footers
-
readAllFootersInParallel
@Deprecated public static List<Footer> readAllFootersInParallel(org.apache.hadoop.conf.Configuration configuration, List<org.apache.hadoop.fs.FileStatus> partFiles) throws IOException
Deprecated.metadata files are not recommended and will be removed in 2.0.0- Parameters:
configuration- the conf to access the File SystempartFiles- the files to read- Returns:
- the footers
- Throws:
IOException- if an exception was raised while reading footers
-
readAllFootersInParallel
@Deprecated public static List<Footer> readAllFootersInParallel(org.apache.hadoop.conf.Configuration configuration, List<org.apache.hadoop.fs.FileStatus> partFiles, boolean skipRowGroups) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)read all the footers of the files provided (not using summary files)- Parameters:
configuration- the conf to access the File SystempartFiles- the files to readskipRowGroups- to skip the rowGroup info- Returns:
- the footers
- Throws:
IOException- if there is an exception while reading footers
-
readAllFootersInParallel
@Deprecated public static List<Footer> readAllFootersInParallel(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus fileStatus, boolean skipRowGroups) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)Read the footers of all the files under that path (recursively) not using summary files.- Parameters:
configuration- a configurationfileStatus- a file status to recursively listskipRowGroups- whether to skip reading row group metadata- Returns:
- a list of footers
- Throws:
IOException- if an exception is thrown while reading the footers
-
readAllFootersInParallel
@Deprecated public static List<Footer> readAllFootersInParallel(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus fileStatus) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)Read the footers of all the files under that path (recursively) not using summary files. rowGroups are not skipped- Parameters:
configuration- the configuration to access the FSfileStatus- the root dir- Returns:
- all the footers
- Throws:
IOException- if an exception is thrown while reading the footers
-
readFooters
@Deprecated public static List<Footer> readFooters(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.Path path) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)- Parameters:
configuration- a configurationpath- a file path- Returns:
- a list of footers
- Throws:
IOException- if an exception is thrown while reading the footers
-
readFooters
@Deprecated public static List<Footer> readFooters(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus pathStatus) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)this always returns the row groups- Parameters:
configuration- a configurationpathStatus- a file status to read footers from- Returns:
- a list of footers
- Throws:
IOException- if an exception is thrown while reading the footers
-
readFooters
@Deprecated public static List<Footer> readFooters(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus pathStatus, boolean skipRowGroups) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)Read the footers of all the files under that path (recursively) using summary files if possible- Parameters:
configuration- the configuration to access the FSpathStatus- the root dirskipRowGroups- whether to skip reading row group metadata- Returns:
- all the footers
- Throws:
IOException- if an exception is thrown while reading the footers
-
readSummaryFile
@Deprecated public static List<Footer> readSummaryFile(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus summaryStatus) throws IOException
Deprecated.metadata files are not recommended and will be removed in 2.0.0Specifically reads a given summary file- Parameters:
configuration- a configurationsummaryStatus- file status for a summary file- Returns:
- the metadata translated for each file
- Throws:
IOException- if an exception is thrown while reading the summary file
-
readFooter
@Deprecated public static final ParquetMetadata readFooter(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.Path file) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)Reads the meta data block in the footer of the file- Parameters:
configuration- a configurationfile- the parquet File- Returns:
- the metadata blocks in the footer
- Throws:
IOException- if an error occurs while reading the file
-
readFooter
@Deprecated public static ParquetMetadata readFooter(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.Path file, ParquetMetadataConverter.MetadataFilter filter) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)Reads the meta data in the footer of the file. Skipping row groups (or not) based on the provided filter- Parameters:
configuration- a configurationfile- the Parquet Filefilter- the filter to apply to row groups- Returns:
- the metadata with row groups filtered.
- Throws:
IOException- if an error occurs while reading the file
-
readFooter
@Deprecated public static final ParquetMetadata readFooter(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus file) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)- Parameters:
configuration- a configurationfile- the Parquet File- Returns:
- the metadata with row groups.
- Throws:
IOException- if an error occurs while reading the file
-
readFooter
@Deprecated public static final ParquetMetadata readFooter(org.apache.hadoop.conf.Configuration configuration, org.apache.hadoop.fs.FileStatus file, ParquetMetadataConverter.MetadataFilter filter) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)Reads the meta data block in the footer of the file- Parameters:
configuration- a configurationfile- the parquet Filefilter- the filter to apply to row groups- Returns:
- the metadata blocks in the footer
- Throws:
IOException- if an error occurs while reading the file
-
readFooter
@Deprecated public static final ParquetMetadata readFooter(org.apache.parquet.io.InputFile file, ParquetMetadataConverter.MetadataFilter filter) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile, ParquetReadOptions)Reads the meta data block in the footer of the file using provided input stream- Parameters:
file- aInputFileto readfilter- the filter to apply to row groups- Returns:
- the metadata blocks in the footer
- Throws:
IOException- if an error occurs while reading the file
-
readFooter
public static final ParquetMetadata readFooter(org.apache.parquet.io.InputFile file, ParquetReadOptions options, org.apache.parquet.io.SeekableInputStream f) throws IOException
- Throws:
IOException
-
open
@Deprecated public static ParquetFileReader open(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path file) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile)- Parameters:
conf- a configurationfile- a file path to open- Returns:
- a parquet file reader
- Throws:
IOException- if there is an error while opening the file
-
open
@Deprecated public static ParquetFileReader open(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path file, ParquetMetadataConverter.MetadataFilter filter) throws IOException
Deprecated.will be removed in 2.0.0; useopen(InputFile,ParquetReadOptions)- Parameters:
conf- a configurationfile- a file path to openfilter- a metadata filter- Returns:
- a parquet file reader
- Throws:
IOException- if there is an error while opening the file
-
open
@Deprecated public static ParquetFileReader open(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path file, ParquetMetadata footer) throws IOException
Deprecated.will be removed in 2.0.0- Parameters:
conf- a configurationfile- a file path to openfooter- a footer for the file if already loaded- Returns:
- a parquet file reader
- Throws:
IOException- if there is an error while opening the file
-
open
public static ParquetFileReader open(org.apache.parquet.io.InputFile file) throws IOException
Open afile.- Parameters:
file- an input file- Returns:
- an open ParquetFileReader
- Throws:
IOException- if there is an error while opening the file
-
open
public static ParquetFileReader open(org.apache.parquet.io.InputFile file, ParquetReadOptions options) throws IOException
Open afilewithoptions.- Parameters:
file- an input fileoptions- parquet read options- Returns:
- an open ParquetFileReader
- Throws:
IOException- if there is an error while opening the file
-
getFooter
public ParquetMetadata getFooter()
-
getFileMetaData
public FileMetaData getFileMetaData()
-
getRecordCount
public long getRecordCount()
-
getFilteredRecordCount
public long getFilteredRecordCount()
-
getPath
@Deprecated public org.apache.hadoop.fs.Path getPath()
Deprecated.will be removed in 2.0.0; usegetFile()instead- Returns:
- the path for this file
-
getFile
public String getFile()
-
getRowGroups
public List<BlockMetaData> getRowGroups()
-
setRequestedSchema
public void setRequestedSchema(org.apache.parquet.schema.MessageType projection)
-
appendTo
public void appendTo(ParquetFileWriter writer) throws IOException
- Throws:
IOException
-
readRowGroup
public org.apache.parquet.column.page.PageReadStore readRowGroup(int blockIndex) throws IOExceptionReads all the columns requested from the row group at the specified block.- Parameters:
blockIndex- the index of the requested block- Returns:
- the PageReadStore which can provide PageReaders for each column.
- Throws:
IOException- if an error occurs while reading
-
readNextRowGroup
public org.apache.parquet.column.page.PageReadStore readNextRowGroup() throws IOExceptionReads all the columns requested from the row group at the current file position.- Returns:
- the PageReadStore which can provide PageReaders for each column.
- Throws:
IOException- if an error occurs while reading
-
readFilteredRowGroup
public org.apache.parquet.column.page.PageReadStore readFilteredRowGroup(int blockIndex) throws IOExceptionReads all the columns requested from the specified row group. It may skip specific pages based on the column indexes according to the actual filter. As the rows are not aligned among the pages of the different columns row synchronization might be required. See the documentation of the class SynchronizingColumnReader for details.- Parameters:
blockIndex- the index of the requested block- Returns:
- the PageReadStore which can provide PageReaders for each column or null if there are no rows in this block
- Throws:
IOException- if an error occurs while reading
-
readNextFilteredRowGroup
public org.apache.parquet.column.page.PageReadStore readNextFilteredRowGroup() throws IOExceptionReads all the columns requested from the row group at the current file position. It may skip specific pages based on the column indexes according to the actual filter. As the rows are not aligned among the pages of the different columns row synchronization might be required. See the documentation of the class SynchronizingColumnReader for details.- Returns:
- the PageReadStore which can provide PageReaders for each column
- Throws:
IOException- if an error occurs while reading
-
skipNextRowGroup
public boolean skipNextRowGroup()
-
getNextDictionaryReader
public org.apache.parquet.column.page.DictionaryPageReadStore getNextDictionaryReader()
Returns aDictionaryPageReadStorefor the row group that would be returned by callingreadNextRowGroup()or skipped by callingskipNextRowGroup().- Returns:
- a DictionaryPageReadStore for the next row group
-
getDictionaryReader
public org.apache.parquet.hadoop.DictionaryPageReader getDictionaryReader(int blockIndex)
-
getDictionaryReader
public org.apache.parquet.hadoop.DictionaryPageReader getDictionaryReader(BlockMetaData block)
-
getBloomFilterDataReader
public BloomFilterReader getBloomFilterDataReader(int blockIndex)
-
getBloomFilterDataReader
public BloomFilterReader getBloomFilterDataReader(BlockMetaData block)
-
readBloomFilter
public org.apache.parquet.column.values.bloomfilter.BloomFilter readBloomFilter(ColumnChunkMetaData meta) throws IOException
Reads Bloom filter data for the given column chunk.- Parameters:
meta- a column's ColumnChunkMetaData to read the dictionary from- Returns:
- an BloomFilter object.
- Throws:
IOException- if there is an error while reading the Bloom filter.
-
readColumnIndex
@Private public org.apache.parquet.internal.column.columnindex.ColumnIndex readColumnIndex(ColumnChunkMetaData column) throws IOException
- Parameters:
column- the column chunk which the column index is to be returned for- Returns:
- the column index for the specified column chunk or
nullif there is no index - Throws:
IOException- if any I/O error occurs during reading the file
-
readOffsetIndex
@Private public org.apache.parquet.internal.column.columnindex.OffsetIndex readOffsetIndex(ColumnChunkMetaData column) throws IOException
- Parameters:
column- the column chunk which the offset index is to be returned for- Returns:
- the offset index for the specified column chunk or
nullif there is no index - Throws:
IOException- if any I/O error occurs during reading the file
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
-