Package tv.porst.swfretools.utils

Source Code of tv.porst.swfretools.utils.Decompressor

package tv.porst.swfretools.utils;

import java.io.File;
import java.io.IOException;

import tv.porst.splib.file.FileHelpers;
import tv.porst.swfretools.parser.SWFParser;
import tv.porst.swfretools.parser.SWFParserException;
import tv.porst.swfretools.parser.structures.SWFFile;


/**
* Decompresses compressed SWF files.
*/
public final class Decompressor {

  /**
   * Decompresses compressed SWF files and writes the output file to disk.
   *
   * @param inputFile The compressed input SWF file.
   * @param outputFile The decompressed output SWF file.
   */
  public static void decompress(final String inputFile, final String outputFile) {

    if (inputFile == null) {
      throw new IllegalArgumentException("Input file argument must not be null.");
    }

    if (outputFile == null) {
      throw new IllegalArgumentException("Output file argument must not be null.");
    }

    try {
      final SWFFile swfFile = SWFParser.parse(new File(inputFile));

      if (!swfFile.getWasCompressed()) {
        System.out.println("Input file is already decompressed");
        return;
      }

      try {
        FileHelpers.writeFile(new File(outputFile), swfFile.getDecompressedData());
      } catch (final IOException e) {
        System.out.println("Error: Could not write to output file");
      }
    } catch (final IOException e) {
      System.out.println("Error: Could not read input file");
    } catch (final SWFParserException e) {
      System.out.println("Error: Could not parse input file");
    }
  }
}
TOP

Related Classes of tv.porst.swfretools.utils.Decompressor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.