/* * ExtractTagsToSeparateSWF.java * @Author Oleg Gorobets * Created: 01.09.2007 * CVS-ID: $Id: *************************************************************************/ package org.swfparser.tests; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import org.apache.log4j.Logger; import com.jswiff.AsIsSWFReader; import com.jswiff.SWFDocument; import com.jswiff.SWFReader; import com.jswiff.SWFWriter; import com.jswiff.listeners.SWFDocumentReader; /** * Extracts tags by numbers starting from 0 to a separate SWF file * */ public class ExtractTagsToSeparateSWF { private static Logger logger = Logger.getLogger(ExtractTagsToSeparateSWF.class); public static String swfInputFileName = "C:\\swf\\input-swf\\input.swf"; public static String tagNumbers ="316"; public static String swfOutputFileName = swfInputFileName+"."+tagNumbers+".swf"; public static void main(String[] args) { try { new ExtractTagsToSeparateSWF().start(); } catch (IOException e) { e.printStackTrace(); } logger.debug("OK"); } public void start() throws IOException { InputStream swfStream = new FileInputStream(new File(swfInputFileName)); SWFDocument swfDoc = parseSWFDocument(swfStream); // write new SWF with selected tags only SWFWriter writer = new SWFWriter(swfDoc, new FileOutputStream(swfOutputFileName)); writer.write(); } protected SWFDocument parseSWFDocument(InputStream swfStream) { SWFReader swfReader = new AsIsSWFReader(swfStream,tagNumbers); SWFDocumentReader docReader = new SWFDocumentReader(); swfReader.addListener(docReader); swfReader.read(); return docReader.getDocument(); } }