Package VASSAL.tools.io
Interface FileArchive
- All Superinterfaces:
AutoCloseable
,Closeable
- All Known Implementing Classes:
ZipArchive
public interface FileArchive extends Closeable
- Since:
- 3.2.0
- Author:
- Joel Uckelman
-
Method Summary
Modifier and Type Method Description void
add(String path, byte[] bytes)
Adds the contents of a byte array to the archive.void
add(String path, File extPath)
Adds a file to the archive.void
add(String path, InputStream in)
Adds the contents of anInputStream
to the archive.void
add(String path, String extPath)
Adds a file to the archive.void
close()
Closes the archive, writing all changes to disk.boolean
contains(String path)
Queries whether a file exists in the archive.void
flush()
Forces all changes to the archive to disk.File
getFile()
Gets the path to the archive file.List<String>
getFiles()
Gets the list of files in the archive.List<String>
getFiles(String root)
Gets the list of files under a given directory of the archive.InputStream
getInputStream(String path)
Gets anInputStream
to read from the given file.long
getMTime(String path)
Gets the modification time of a file in the archive, in milliseconds since the epoch.String
getName()
Gets the path to the archive file.OutputStream
getOutputStream(String path)
Gets anOutputStream
to write to the given file.long
getSize(String path)
Gets the size of a file in the archive, in bytes.boolean
isClosed()
Queries whether the archive is closed.boolean
isModified()
Queries whether the archive has unsaved modifications.boolean
remove(String path)
Removes a file from the archive.void
revert()
Reverts the archive to its last saved state.
-
Method Details
-
getName
String getName()Gets the path to the archive file.- Returns:
- the path as a
String
-
getFile
File getFile()Gets the path to the archive file.- Returns:
- the path as a
File
-
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
-
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
-
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
-
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
-
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
-
add
Adds the contents of anInputStream
to the archive.- Parameters:
path
- the internal path of the file to be addedbytes
- theInputStream
to read from- Throws:
IOException
-
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
-
revert
Reverts the archive to its last saved state.- Throws:
IOException
-
flush
Forces all changes to the archive to disk.- Throws:
IOExcetpion
IOException
-
close
Closes the archive, writing all changes to disk.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
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
-
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
-
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
-
getFiles
Gets the list of files in the archive.- Returns:
- the list of files in the archive
- Throws:
IOException
-
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
-