Package net.lingala.zip4j.tasks
Class RenameFilesTask
java.lang.Object
net.lingala.zip4j.tasks.AsyncZipTask<RenameFilesTask.RenameFilesTaskParameters>
net.lingala.zip4j.tasks.AbstractModifyFileTask<RenameFilesTask.RenameFilesTaskParameters>
net.lingala.zip4j.tasks.RenameFilesTask
public class RenameFilesTask
extends AbstractModifyFileTask<RenameFilesTask.RenameFilesTaskParameters>
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class net.lingala.zip4j.tasks.AsyncZipTask
AsyncZipTask.AsyncTaskParameters
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final HeaderWriter
private final RawIO
private final ZipModel
-
Constructor Summary
ConstructorsConstructorDescriptionRenameFilesTask
(ZipModel zipModel, HeaderWriter headerWriter, RawIO rawIO, AsyncZipTask.AsyncTaskParameters asyncTaskParameters) -
Method Summary
Modifier and TypeMethodDescriptionprotected long
calculateTotalWork
(RenameFilesTask.RenameFilesTaskParameters taskParameters) private long
copyEntryAndChangeFileName
(byte[] newFileNameBytes, FileHeader fileHeader, long start, long totalLengthOfEntry, RandomAccessFile inputStream, OutputStream outputStream, ProgressMonitor progressMonitor, int bufferSize) protected void
executeTask
(RenameFilesTask.RenameFilesTaskParameters taskParameters, ProgressMonitor progressMonitor) filterNonExistingEntriesAndAddSeparatorIfNeeded
(Map<String, String> inputFileNamesMap) getCorrespondingEntryFromMap
(FileHeader fileHeaderToBeChecked, Map<String, String> fileNamesMap) private String
getNewFileName
(String newFileName, String oldFileName, String fileNameFromHeaderToBeChanged) protected ProgressMonitor.Task
getTask()
private void
updateHeadersInZipModel
(List<FileHeader> sortedFileHeaders, FileHeader fileHeader, String newFileName, byte[] newFileNameBytes, int headersOffset) Methods inherited from class net.lingala.zip4j.tasks.AbstractModifyFileTask
cleanupFile, cloneAndSortFileHeadersByOffset, copyFile, getOffsetOfNextEntry, getTemporaryFile, updateOffsetsForAllSubsequentFileHeaders
Methods inherited from class net.lingala.zip4j.tasks.AsyncZipTask
execute, verifyIfTaskIsCancelled
-
Field Details
-
zipModel
-
headerWriter
-
rawIO
-
-
Constructor Details
-
RenameFilesTask
public RenameFilesTask(ZipModel zipModel, HeaderWriter headerWriter, RawIO rawIO, AsyncZipTask.AsyncTaskParameters asyncTaskParameters)
-
-
Method Details
-
executeTask
protected void executeTask(RenameFilesTask.RenameFilesTaskParameters taskParameters, ProgressMonitor progressMonitor) throws IOException - Specified by:
executeTask
in classAsyncZipTask<RenameFilesTask.RenameFilesTaskParameters>
- Throws:
IOException
-
calculateTotalWork
- Specified by:
calculateTotalWork
in classAsyncZipTask<RenameFilesTask.RenameFilesTaskParameters>
-
getTask
- Specified by:
getTask
in classAsyncZipTask<RenameFilesTask.RenameFilesTaskParameters>
-
copyEntryAndChangeFileName
private long copyEntryAndChangeFileName(byte[] newFileNameBytes, FileHeader fileHeader, long start, long totalLengthOfEntry, RandomAccessFile inputStream, OutputStream outputStream, ProgressMonitor progressMonitor, int bufferSize) throws IOException - Throws:
IOException
-
getCorrespondingEntryFromMap
-
updateHeadersInZipModel
private void updateHeadersInZipModel(List<FileHeader> sortedFileHeaders, FileHeader fileHeader, String newFileName, byte[] newFileNameBytes, int headersOffset) throws ZipException - Throws:
ZipException
-
filterNonExistingEntriesAndAddSeparatorIfNeeded
private Map<String,String> filterNonExistingEntriesAndAddSeparatorIfNeeded(Map<String, String> inputFileNamesMap) throws ZipException- Throws:
ZipException
-
getNewFileName
private String getNewFileName(String newFileName, String oldFileName, String fileNameFromHeaderToBeChanged) throws ZipException - Throws:
ZipException
-