List of usage examples for org.apache.commons.io FileUtils checksumCRC32
public static long checksumCRC32(File file) throws IOException
From source file:algorithm.JPEGTextAddingTest.java
@Test public void jpegTextAddingTest() { try {//from w ww.ja va 2 s. c o m File carrier = TestDataProvider.JPG_FILE; File payload1 = TestDataProvider.TXT_FILE; File payload2 = TestDataProvider.TXT_FILE_2; List<File> payloadList = new ArrayList<File>(); payloadList.add(payload1); payloadList.add(payload2); JPEGTextAdding algorithm = new JPEGTextAdding(); File outputFile = algorithm.encapsulate(carrier, payloadList); assertNotNull(outputFile); assertTrue(outputFile.length() > carrier.length()); // Test restore: Hashtable<String, RestoredFile> outputHash = new Hashtable<String, RestoredFile>(); for (RestoredFile file : algorithm.restore(outputFile)) { outputHash.put(file.getName(), file); } assertEquals(outputHash.size(), 3); RestoredFile restoredCarrier = outputHash.get(carrier.getName()); RestoredFile restoredPayload1 = outputHash.get(payload1.getName()); RestoredFile restoredPayload2 = outputHash.get(payload2.getName()); assertEquals(restoredCarrier.length(), carrier.length()); assertEquals(restoredPayload1.length(), payload1.length()); assertNotNull(restoredCarrier); assertNotNull(restoredPayload1); assertNotNull(restoredPayload2); assertEquals(FileUtils.checksumCRC32(carrier), FileUtils.checksumCRC32(restoredCarrier)); assertEquals(FileUtils.checksumCRC32(payload1), FileUtils.checksumCRC32(restoredPayload1)); assertEquals(FileUtils.checksumCRC32(payload2), FileUtils.checksumCRC32(restoredPayload2)); // check restoration metadata: assertEquals("" + carrier.getAbsolutePath(), restoredCarrier.originalFilePath); assertEquals("" + payload1.getAbsolutePath(), restoredPayload1.originalFilePath); assertEquals("" + payload2.getAbsolutePath(), restoredPayload2.originalFilePath); assertEquals(algorithm, restoredCarrier.algorithm); assertTrue(restoredCarrier.checksumValid); assertTrue(restoredPayload1.checksumValid); assertTrue(restoredPayload2.checksumValid); assertTrue(restoredCarrier.wasCarrier); assertFalse(restoredCarrier.wasPayload); assertTrue(restoredPayload1.wasPayload); assertFalse(restoredPayload1.wasCarrier); assertTrue(restoredPayload2.wasPayload); assertFalse(restoredPayload2.wasCarrier); assertTrue(restoredCarrier.relatedFiles.contains(restoredPayload1)); assertTrue(restoredCarrier.relatedFiles.contains(restoredPayload2)); assertFalse(restoredCarrier.relatedFiles.contains(restoredCarrier)); assertTrue(restoredPayload1.relatedFiles.contains(restoredCarrier)); assertTrue(restoredPayload1.relatedFiles.contains(restoredPayload2)); assertFalse(restoredPayload1.relatedFiles.contains(restoredPayload1)); } catch (IOException e) { e.printStackTrace(); } }
From source file:com.leverno.ysbos.archive.AwsArchiver.java
/** * Returns a description in JSON format containing the * <ul>// w w w .j a v a 2 s.c o m * <li>file path</li> * <li>file checksum</li> * </ul> * * @param archiveFile * @return the description of the archive in JSON markup */ private String getArchiveDescription(File archiveFile) throws IOException { return String.format("{%s:%s,%s:%s", quotedString("path"), quotedString(archiveFile.getAbsolutePath()), quotedString("checksum_CRC32"), quotedString(Long.toString(FileUtils.checksumCRC32(archiveFile)))); }
From source file:algorithm.PNGChunkAddingTest.java
@Test public void pngMultipleChunkAddingTest() { try {/*w w w. j a va 2 s .c o m*/ File carrier = TestDataProvider.PNG_FILE; File payload = TestDataProvider.TXT_FILE; File payload2 = TestDataProvider.TXT_FILE_2; List<File> payloadList = new ArrayList<File>(); payloadList.add(payload); payloadList.add(payload2); PNGChunkAdding algorithm = new PNGChunkAdding(); // Test encapsulation: File outputFile = algorithm.encapsulate(carrier, payloadList); assertNotNull(outputFile); // Test restore: Hashtable<String, RestoredFile> outputHash = new Hashtable<String, RestoredFile>(); for (RestoredFile file : algorithm.restore(outputFile)) { outputHash.put(file.getName(), file); } assertEquals(3, outputHash.size()); RestoredFile restoredCarrier = outputHash.get(carrier.getName()); RestoredFile restoredPayload = outputHash.get(payload.getName()); RestoredFile restoredPayload2 = outputHash.get(payload2.getName()); assertNotNull(restoredCarrier); assertNotNull(restoredPayload); assertNotNull(restoredPayload2); // TODO: The carrier checksum is not valid, because the PNG library // reorders the chunks! We would have to use a different library. // assertEquals(FileUtils.checksumCRC32(carrier), // FileUtils.checksumCRC32(restoredCarrier)); assertEquals(FileUtils.checksumCRC32(payload), FileUtils.checksumCRC32(restoredPayload)); assertEquals(FileUtils.checksumCRC32(payload2), FileUtils.checksumCRC32(restoredPayload2)); // check restoration metadata: assertEquals("" + carrier.getAbsolutePath(), restoredCarrier.originalFilePath); assertEquals("" + payload.getAbsolutePath(), restoredPayload.originalFilePath); assertEquals(algorithm, restoredCarrier.algorithm); // can't be true for this algorithm: // assertTrue(restoredCarrier.checksumValid); assertTrue(restoredPayload.checksumValid); assertTrue(restoredCarrier.wasCarrier); assertFalse(restoredCarrier.wasPayload); assertTrue(restoredPayload.wasPayload); assertFalse(restoredPayload.wasCarrier); assertTrue(restoredCarrier.relatedFiles.contains(restoredPayload)); assertFalse(restoredCarrier.relatedFiles.contains(restoredCarrier)); assertTrue(restoredPayload.relatedFiles.contains(restoredCarrier)); assertFalse(restoredPayload.relatedFiles.contains(restoredPayload)); } catch (IOException e) { e.printStackTrace(); } }
From source file:algorithm.PDFFileAttacherTest.java
@Test public void pdfSingleFileAttacherTest() { try {/*from w ww. jav a2s . com*/ File carrier = TestDataProvider.PDF_FILE; File payload = TestDataProvider.TXT_FILE; PDFFileAttacher algorithm = new PDFFileAttacher(); // Test encapsulation: List<File> payloadList = new ArrayList<File>(); payloadList.add(payload); File outputFile = algorithm.encapsulate(carrier, payloadList); assertNotNull(outputFile); assertTrue(outputFile.length() > carrier.length()); // Test restore: Hashtable<String, RestoredFile> outputHash = new Hashtable<String, RestoredFile>(); for (RestoredFile file : algorithm.restore(outputFile)) { outputHash.put(file.getName(), file); } assertEquals(2, outputHash.size()); RestoredFile restoredCarrier = outputHash.get(carrier.getName()); RestoredFile restoredPayload = outputHash.get(payload.getName()); assertNotNull(restoredCarrier); assertNotNull(restoredPayload); /* * TODO: as long as I can see, it is at the moment not possible to * remove the attached file with pdf box, so we can't restore the * carrier. We would have to use a different pdf library to solve * this. */ // assertEquals(FileUtils.checksumCRC32(carrier), // FileUtils.checksumCRC32(restoredCarrier)); assertEquals(FileUtils.checksumCRC32(payload), FileUtils.checksumCRC32(restoredPayload)); // check restoration metadata: // (This algorithm doesn't save original file paths, as it doesn't // use the payload segment) assertEquals(algorithm, restoredCarrier.algorithm); // assertTrue(restoredCarrier.checksumValid); assertTrue(restoredPayload.checksumValid); assertTrue(restoredCarrier.wasCarrier); assertFalse(restoredCarrier.wasPayload); assertTrue(restoredPayload.wasPayload); assertFalse(restoredPayload.wasCarrier); assertTrue(restoredCarrier.relatedFiles.contains(restoredPayload)); assertFalse(restoredCarrier.relatedFiles.contains(restoredCarrier)); assertTrue(restoredPayload.relatedFiles.contains(restoredCarrier)); assertFalse(restoredPayload.relatedFiles.contains(restoredPayload)); } catch (IOException e) { e.printStackTrace(); } }
From source file:com.aionlightning.slf4j.conversion.TruncateToZipFileAppender.java
/** * This method creates archive with file instead of deleting it. * //from w w w. j ava 2s.c o m * @param file * file to truncate */ protected void truncate(File file) { File backupRoot = new File(backupDir); if (!backupRoot.exists() && !backupRoot.mkdirs()) { log.warn("Can't create backup dir for backup storage"); return; } String date = ""; try { BufferedReader reader = new BufferedReader(new FileReader(file)); date = reader.readLine().split("\f")[1]; reader.close(); } catch (IOException e) { e.printStackTrace(); } File zipFile = new File(backupRoot, file.getName() + "." + date + ".zip"); ZipOutputStream zos = null; FileInputStream fis = null; try { zos = new ZipOutputStream(new FileOutputStream(zipFile)); ZipEntry entry = new ZipEntry(file.getName()); entry.setMethod(ZipEntry.DEFLATED); entry.setCrc(FileUtils.checksumCRC32(file)); zos.putNextEntry(entry); fis = FileUtils.openInputStream(file); byte[] buffer = new byte[1024]; int readed; while ((readed = fis.read(buffer)) != -1) { zos.write(buffer, 0, readed); } } catch (Exception e) { log.warn("Can't create zip file", e); } finally { if (zos != null) { try { zos.close(); } catch (IOException e) { log.warn("Can't close zip file", e); } } if (fis != null) { try { fis.close(); } catch (IOException e) { log.warn("Can't close zipped file", e); } } } if (!file.delete()) { log.warn("Can't delete old log file " + file.getAbsolutePath()); } }
From source file:com.izforge.izpack.test.util.TestHelper.java
/** * Verifies that two files have the same content. * <p/>// w w w . j a va 2 s . co m * The files must have different paths. * * @param expected the expected file * @param actual the actual file */ public static void assertFileEquals(File expected, File actual) { assertTrue(actual.exists()); assertFalse(actual.getAbsolutePath().equals(expected.getAbsolutePath())); assertEquals(expected.length(), actual.length()); try { assertEquals(FileUtils.checksumCRC32(expected), FileUtils.checksumCRC32(actual)); } catch (IOException exception) { fail(exception.getMessage()); } }
From source file:com.chingo247.structureapi.plan.schematic.SchematicManager.java
public boolean hasSchematic(StructurePlan plan) throws IOException { long checkskum = FileUtils.checksumCRC32(plan.getSchematic()); return hasSchematic(checkskum); }
From source file:model.PayloadSegment.java
/** * This constructor is for spare algorithms with low capacity. * //from w w w . jav a 2s. co m * @param payload */ public PayloadSegment(File payload) { String payloadChecksum = ""; try { this.payload = FileUtils.readFileToByteArray(payload); payloadChecksum += FileUtils.checksumCRC32(payload); } catch (IOException e) { } properties.put("payloadName", payload.getName()); properties.put("payloadChecksum", payloadChecksum); }
From source file:com.chingo247.structureapi.plan.StructurePlan.java
public void load(AbstractDocument document) throws StructureDataException, IOException { xmlFile = document.getDocumentFile(); pluginElement = document.getPluginElement(Bukkit.getPluginManager().getPlugin("SettlerCraft")); Element scElement = pluginElement.getAsElement(); Node schematicNode = scElement.selectSingleNode(Nodes.SCHEMATIC_NODE); if (schematicNode == null) { throw new StructureDataException( "Missing Structure Schematic in " + document.getDocumentFile().getAbsolutePath()); }// w ww .j a va 2s. co m File s = new File(document.getDocumentFile().getParent(), schematicNode.getText()); if (s.exists()) { schematic = s; } else { throw new FileNotFoundException("Couldn't resolve path for " + s.getAbsolutePath() + " for config: " + document.getDocumentFile().getAbsolutePath()); } checksum = FileUtils.checksumCRC32(s); name = pluginElement.getStringValue(Nodes.NAME_NODE); if (name == null) { name = FilenameUtils.getBaseName(schematic.getName()); } category = pluginElement.getStringValue(Nodes.CATEGORY_NODE); if (category == null) { category = "Default"; } description = pluginElement.getStringValue(Nodes.DESCRIPTION_NODE); if (description == null) { description = "-"; } try { price = pluginElement.getDoubleValue(Nodes.PRICE_NODE); } catch (NumberFormatException nfe) { throw new StructureDataException("Value of 'Price' must be a number, error generated in " + document.getDocumentFile().getAbsolutePath()); } if (price == null) { price = 0.0; } Node worldGuardFlagsNode = scElement.selectSingleNode(Nodes.WORLDGUARD_FLAGS_NODE); if (worldGuardFlagsNode != null) { regionFlags = new StructureRegionFlagLoader().load((Element) worldGuardFlagsNode); } else { regionFlags = new LinkedList<>(); } Node structureOverviewsNode = scElement.selectSingleNode(Nodes.STRUCTURE_OVERVIEWS_NODE); if (structureOverviewsNode != null) { overviews = new StructureOverviewLoader().load((Element) structureOverviewsNode); } else { overviews = new LinkedList<>(); } Node structureHologramsNode = scElement.selectSingleNode(Nodes.HOLOGRAMS_NODE); if (structureOverviewsNode != null) { holograms = new StructureHologramLoader().load((Element) structureHologramsNode); } else { holograms = new LinkedList<>(); } }
From source file:gov.nih.nci.caarray.application.fileaccess.FileAccessUtils.java
/** * Adds the given file to the given zip output stream using the given name as the zip entry name. This method will * NOT call finish on the zip output stream at the end. * //from w w w .ja v a2s . c o m * @param zos the zip output stream to add the file to. This stream must already be open. * @param file the file to put in the zip. * @param name the name to use for this zip entry. * @param addAsStored if true, then the file will be added to the zip as a STORED entry (e.g. without applying * compression to it); if false, then the file will be added to the zip as a DEFLATED entry. * @throws IOException if there is an error writing to the stream */ public void writeZipEntry(ZipOutputStream zos, File file, String name, boolean addAsStored) throws IOException { final ZipEntry ze = new ZipEntry(name); ze.setMethod(addAsStored ? ZipEntry.STORED : ZipEntry.DEFLATED); if (addAsStored) { ze.setSize(file.length()); ze.setCrc(FileUtils.checksumCRC32(file)); } zos.putNextEntry(ze); final InputStream is = FileUtils.openInputStream(file); IOUtils.copy(is, zos); zos.closeEntry(); zos.flush(); IOUtils.closeQuietly(is); }