Interface FileArchive
- All Superinterfaces:
AutoCloseable
,Closeable
- All Known Implementing Classes:
ZipArchive
- Since:
- 3.2.0
- Author:
- Joel Uckelman
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds the contents of a byte array to the archive.void
Adds a file to the archive.void
add
(String path, InputStream in) Adds the contents of anInputStream
to the archive.void
Adds a file to the archive.void
close()
Closes the archive, writing all changes to disk.boolean
Queries whether a file exists in the archive.void
flush()
Forces all changes to the archive to disk.default long
getCompressedSize
(String path) Get the compressed size of a file in the archive, in bytes.getFile()
Gets the path to the archive file.getFiles()
Gets the list of files in the archive.Gets the list of files under a given directory of the archive.getInputStream
(String path) Gets anInputStream
to read from the given file.long
Gets the modification time of a file in the archive, in milliseconds since the epoch.getName()
Gets the path to the archive file.getOutputStream
(String path) Gets anOutputStream
to write to the given file.long
Gets the size of a file in the archive, in bytes.boolean
isClosed()
Queries whether the archive is closed.boolean
Queries whether the archive has unsaved modifications.boolean
Removes a file from the archive.void
revert()
Reverts the archive to its last saved state.
-
Method Details
-
getName
-
getFile
-
getInputStream
Gets anInputStream
to read from the given file.- Parameters:
path
- the path to the file in the archive- Returns:
- an
InputStream
containing the requested file - Throws:
IOException
- oops
-
getOutputStream
Gets anOutputStream
to write to the given file.- Parameters:
path
- the path to the file in the archive- Returns:
- an
OutputStream
for the requested file - Throws:
IOException
- oops
-
add
Adds a file to the archive.- Parameters:
path
- the internal path of the file to be addedextPath
- the external path of the file to be added- Throws:
IOException
- oops
-
add
Adds a file to the archive.- Parameters:
path
- the internal path of the file to be addedextPath
- the external path to the file to be added- Throws:
IOException
- oops
-
add
Adds the contents of a byte array to the archive.- Parameters:
path
- the internal path of the file to be addedbytes
- the bytes to be added- Throws:
IOException
- oops
-
add
Adds the contents of anInputStream
to the archive.- Parameters:
path
- the internal path of the file to be addedin
- theInputStream
to read from- Throws:
IOException
- oops
-
remove
Removes a file from the archive.- Parameters:
path
- the path to the file in the archive- Returns:
true
if the file existed in the archive- Throws:
IOException
- oops
-
revert
Reverts the archive to its last saved state.- Throws:
IOException
- oops
-
flush
Forces all changes to the archive to disk.- Throws:
IOException
- oops
-
close
Closes the archive, writing all changes to disk.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
- oops
-
contains
Queries whether a file exists in the archive.- Parameters:
path
- the path to the file in the archive- Returns:
true
if the file exists in the archive- Throws:
IOException
- oops
-
isClosed
boolean isClosed()Queries whether the archive is closed.- Returns:
true
if the archive is closed
-
isModified
boolean isModified()Queries whether the archive has unsaved modifications.- Returns:
true
if the archive is modified
-
getSize
Gets the size of a file in the archive, in bytes.- Parameters:
path
- the path to the file in the archive- Returns:
- the size of the file, in bytes
- Throws:
FileNotFoundException
- ifpath
is not in the archiveIOException
- oops
-
getCompressedSize
Get the compressed size of a file in the archive, in bytes. Rerurn the uncompressed size by default.- Returns:
- the compressed size of the file, in bytes
- Throws:
FileNotFoundException
- ifpath
is not in the archiveIOException
- oops
-
getMTime
Gets the modification time of a file in the archive, in milliseconds since the epoch.- Parameters:
path
- the path to the file in the archive- Returns:
- the mtime of the file
- Throws:
FileNotFoundException
- ifpath
is not in the archiveIOException
- oops
-
getFiles
Gets the list of files in the archive.- Returns:
- the list of files in the archive
- Throws:
IOException
- oops
-
getFiles
Gets the list of files under a given directory of the archive.- Parameters:
root
- the directory- Returns:
- the list of files under the given directory
- Throws:
FileNotFoundException
- ifroot
is not in the archiveIOException
- oops
-