public LoadStrategy createTempZipFileStrategyIfPossible(String uri, LoadStrategy parent) { if (!ArchiveUtil.shouldUseTempDirectoryForRead()) return null; try { java.io.File tempFile = ArchiveUtil.createTempFile(uri); DeleteOnExitUtility.markForDeletion(tempFile); InputStream in = parent.getInputStream(uri); OutputStream out = new FileOutputStream(tempFile); ArchiveUtil.copy(in, out); return new TempZipFileLoadStrategyImpl(tempFile); } catch (IOException ex) { ArchiveUtil.inform(CommonArchiveResourceHandler.getString(CommonArchiveResourceHandler.make_temp_file_WARN_, (new Object[]{uri})) + ex.getLocalizedMessage()); // = "Warning: Unable to create temp file for {0}. This will impact performance." } return null; }