Package net.lingala.zip4j.tasks
Class RenameFilesTask
- java.lang.Object
-
- net.lingala.zip4j.tasks.AsyncZipTask<T>
-
- net.lingala.zip4j.tasks.AbstractModifyFileTask<RenameFilesTask.RenameFilesTaskParameters>
-
- net.lingala.zip4j.tasks.RenameFilesTask
-
public class RenameFilesTask extends AbstractModifyFileTask<RenameFilesTask.RenameFilesTaskParameters>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RenameFilesTask.RenameFilesTaskParameters
-
Nested classes/interfaces inherited from class net.lingala.zip4j.tasks.AsyncZipTask
AsyncZipTask.AsyncTaskParameters
-
-
Field Summary
Fields Modifier and Type Field Description private HeaderWriter
headerWriter
private RawIO
rawIO
private ZipModel
zipModel
-
Constructor Summary
Constructors Constructor Description RenameFilesTask(ZipModel zipModel, HeaderWriter headerWriter, RawIO rawIO, AsyncZipTask.AsyncTaskParameters asyncTaskParameters)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected long
calculateTotalWork(RenameFilesTask.RenameFilesTaskParameters taskParameters)
private long
copyEntryAndChangeFileName(byte[] newFileNameBytes, FileHeader fileHeader, long start, long totalLengthOfEntry, java.io.RandomAccessFile inputStream, java.io.OutputStream outputStream, ProgressMonitor progressMonitor, int bufferSize)
protected void
executeTask(RenameFilesTask.RenameFilesTaskParameters taskParameters, ProgressMonitor progressMonitor)
private java.util.Map<java.lang.String,java.lang.String>
filterNonExistingEntriesAndAddSeparatorIfNeeded(java.util.Map<java.lang.String,java.lang.String> inputFileNamesMap)
private java.util.Map.Entry<java.lang.String,java.lang.String>
getCorrespondingEntryFromMap(FileHeader fileHeaderToBeChecked, java.util.Map<java.lang.String,java.lang.String> fileNamesMap)
private java.lang.String
getNewFileName(java.lang.String newFileName, java.lang.String oldFileName, java.lang.String fileNameFromHeaderToBeChanged)
protected ProgressMonitor.Task
getTask()
private void
updateHeadersInZipModel(java.util.List<FileHeader> sortedFileHeaders, FileHeader fileHeader, java.lang.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 Detail
-
zipModel
private final ZipModel zipModel
-
headerWriter
private final HeaderWriter headerWriter
-
rawIO
private final RawIO rawIO
-
-
Constructor Detail
-
RenameFilesTask
public RenameFilesTask(ZipModel zipModel, HeaderWriter headerWriter, RawIO rawIO, AsyncZipTask.AsyncTaskParameters asyncTaskParameters)
-
-
Method Detail
-
executeTask
protected void executeTask(RenameFilesTask.RenameFilesTaskParameters taskParameters, ProgressMonitor progressMonitor) throws java.io.IOException
- Specified by:
executeTask
in classAsyncZipTask<RenameFilesTask.RenameFilesTaskParameters>
- Throws:
java.io.IOException
-
calculateTotalWork
protected long calculateTotalWork(RenameFilesTask.RenameFilesTaskParameters taskParameters)
- Specified by:
calculateTotalWork
in classAsyncZipTask<RenameFilesTask.RenameFilesTaskParameters>
-
getTask
protected ProgressMonitor.Task getTask()
- Specified by:
getTask
in classAsyncZipTask<RenameFilesTask.RenameFilesTaskParameters>
-
copyEntryAndChangeFileName
private long copyEntryAndChangeFileName(byte[] newFileNameBytes, FileHeader fileHeader, long start, long totalLengthOfEntry, java.io.RandomAccessFile inputStream, java.io.OutputStream outputStream, ProgressMonitor progressMonitor, int bufferSize) throws java.io.IOException
- Throws:
java.io.IOException
-
getCorrespondingEntryFromMap
private java.util.Map.Entry<java.lang.String,java.lang.String> getCorrespondingEntryFromMap(FileHeader fileHeaderToBeChecked, java.util.Map<java.lang.String,java.lang.String> fileNamesMap)
-
updateHeadersInZipModel
private void updateHeadersInZipModel(java.util.List<FileHeader> sortedFileHeaders, FileHeader fileHeader, java.lang.String newFileName, byte[] newFileNameBytes, int headersOffset) throws ZipException
- Throws:
ZipException
-
filterNonExistingEntriesAndAddSeparatorIfNeeded
private java.util.Map<java.lang.String,java.lang.String> filterNonExistingEntriesAndAddSeparatorIfNeeded(java.util.Map<java.lang.String,java.lang.String> inputFileNamesMap) throws ZipException
- Throws:
ZipException
-
getNewFileName
private java.lang.String getNewFileName(java.lang.String newFileName, java.lang.String oldFileName, java.lang.String fileNameFromHeaderToBeChanged) throws ZipException
- Throws:
ZipException
-
-