File destFile = new File(destDir.getAbsolutePath() + StrConst.FILE_SEP + compressFileName); if (fh.isDirectory()) { if (!destFile.exists()) { destFile.mkdirs();
File outFile = new File(outFilePath); if (fileHeader.isDirectory()) {
@Override protected FileType doGetType() { if (header == null || header.isDirectory()) { return FileType.FOLDER; } else { return FileType.FILE; } }
@Override protected FileType doGetType() { if (header == null || header.isDirectory()) { return FileType.FOLDER; } else { return FileType.FILE; } }
if (!header.isDirectory()) { try (InputStream subFile = rar.getInputStream(header)) { Metadata entrydata = PackageParser.handleEntryMetadata(
//List<FileHeader> fHeaders = myZipFile.getFileHeaders(); for all file Header FileHeader targetFileHeader = zipFile.getFileHeader("TargetFolder"); if (targetFileHeader.isDirectory()) { File f = new File("anyGivenDirectory/" + targetFileHeader.getFileName()); f.mkdirs(); // mkdirs() is different from mkdir() zipFile.extractFile(fileHeader, f.toString()); }
if (fileHeader.isDirectory()) { zipFile.extractFile(fileHeader, "anyValidPathToExtractTo");
/** * Creates and return an {@link ArchiveEntry()} whose attributes are fetched from the given {@link com.github.junrar.rarfile.FileHeader} * * @param header the object that serves to initialize the attributes of the returned ArchiveEntry * @return an ArchiveEntry whose attributes are fetched from the given FileHeader */ private ArchiveEntry createArchiveEntry(FileHeader header) { return new ArchiveEntry( header.getFileNameString().replace('\\', '/'), header.isDirectory(), header.getMTime().getTime(), header.getFullUnpackSize(), true ); }
@Override public File createDirectory(final FileHeader fh) { File f = null; if (fh.isDirectory() && fh.isUnicode()) { f = new File(folderDestination, fh.getFileNameW()); if (!f.exists()) { makeDirectory(folderDestination, fh.getFileNameW()); } } else if (fh.isDirectory() && !fh.isUnicode()) { f = new File(folderDestination, fh.getFileNameString()); if (!f.exists()) { makeDirectory(folderDestination, fh.getFileNameString()); } } return f; }
private static File tryToExtract( final Log logger, final ExtractDestination destination, final Archive arch, final FileHeader fileHeader ) throws IOException, RarException { final String fileNameString = fileHeader.getFileNameString(); if (fileHeader.isEncrypted()) { logger.warn("file is encrypted cannot extract: "+ fileNameString); return null; } logger.info("extracting: " + fileNameString); if (fileHeader.isDirectory()) { return destination.createDirectory(fileHeader); } else { return destination.extract(arch, fileHeader); } }
@Override protected void handleEntry(FileHeader entry) throws IOException { try { if (entry.isDirectory()) { String path = entry.getFileNameString(); if (!(path.endsWith(UNIX_PATH_SPLITTER) || path.endsWith(WINDOWS_PATH_SPLITTER))) { path += UNIX_PATH_SPLITTER; } submitDirectory(path, entry.getMTime()); } else if (entry.isEncrypted()) { throw new RuntimeException("Encrypted entry : " + entry.getFileNameString()); } else { submitFile(entry); } } catch (URISyntaxException ex) { throw new RuntimeException("Malformed uri for entry : " + entry.getFileNameString(), ex); } catch (RarException rarEx) { throw new RuntimeException("Probem with RAR extraction : " + entry.getFileNameString(), rarEx); } } }
@Override protected void handleEntry(FileHeader entry) throws IOException { try { if (entry.isDirectory()) { String path = entry.getFileNameString(); if (!(path.endsWith(UNIX_PATH_SPLITTER) || path.endsWith(WINDOWS_PATH_SPLITTER))) { path += UNIX_PATH_SPLITTER; } submitDirectory(path, entry.getMTime()); } else if (entry.isEncrypted()) { throw new RuntimeException("Encrypted entry : " + entry.getFileNameString()); } else { submitFile(entry); } } catch (URISyntaxException ex) { throw new RuntimeException("Malformed uri for entry : " + entry.getFileNameString(), ex); } catch (RarException rarEx) { throw new RuntimeException("Probem with RAR extraction : " + entry.getFileNameString(), rarEx); } } }
if (fh.isDirectory()) { Files.createDirectories(out);
if (fh.isDirectory()) { Files.createDirectories(out);
private void processEntry(FileHeader entry, Archive archive, URI uri, String newPath) throws CommandExecutionException, IOException, RarException { String name = entry.getFileNameString(); if (!entry.isDirectory()) { final RequestMetaData metaData = new RequestMetaData(entry.getUnpSize(), 2L, name); final RequestIdentifier identifier = new RequestIdentifier(uri); RarIdentificationRequest req = new RarIdentificationRequest(metaData, identifier, getTmpDir()); expandContainer(req, archive.getInputStream(entry), newPath); } else { log.trace("processing directory : " + entry.getFileNameString()); } } }
if (!header.isDirectory()) { try (InputStream subFile = rar.getInputStream(header)) { Metadata entrydata = PackageParser.handleEntryMetadata(
if (!header.isDirectory()) { try (InputStream subFile = rar.getInputStream(header)) { Metadata entrydata = PackageParser.handleEntryMetadata(
if (header.isDirectory() && getFileFromCache(name) != null) { fileObj = (RARFileObject) getFileFromCache(name); fileObj.setHeader(header);
if (header.isDirectory() && getFileFromCache(name) != null) { fileObj = (RARFileObject) getFileFromCache(name); fileObj.setHeader(header);