Por defecto , Java no es capaz de trabajar con los archivos SWF de Flash . Los archivos SWF son archivos de Adobe Flash , que contienen gráficos vectoriales multimedia y ActionScript . Sin embargo, un paquete de funciones está disponible en la Web que amplía la funcionalidad de Java y le permite trabajar con archivos Flash . Por ejemplo, se le puede ayudar a analizar el archivo SWF y leer todo el texto . A continuación, puede utilizar el texto en las otras funciones de Java. Todo lo que tienes que hacer es descargar los archivos de código fuente y enlace a ellos en la aplicación Java. Instrucciones
1
Abra el navegador Web y vaya a Softpedia descargar el código fuente JavaSWF2 .
2
clic en el botón azul " Descargar" y guarde el archivo en su unidad de disco duro .
3 Haga clic en el archivo javaswf -CVS -SNAPSHOT - 1.zip que acaba de descargar y seleccione extraer aquí para extraer su contenido en la misma carpeta . Se crea una carpeta con el nombre javaswf .
4
Crear un nuevo archivo de texto en cualquier lugar de tu disco duro, lo nombra ReadText.java y presionar " Enter".
5
Copia la carpeta com se encuentra dentro de la carpeta javaswf \\ bin en la carpeta que contiene el nuevo archivo de Java.
6
Abra el archivo Java en cualquier editor de texto.
7
Inserte estas líneas para importar los recursos necesarios : . . .
import java.io. * ; import java.util * ; import com.anotherbigidea.flash.interfaces * ; com.anotherbigidea.flash.writers importación * ; com.anotherbigidea.flash.readers importación * ; com.anotherbigidea.flash.structs importación * ;
8
Inserta este código para leer el texto del archivo SWF: . .
< p > public class ExtractText extiende SWFTagTypesImpl {protected HashMap fontCodes = new HashMap (); ExtractText pública () { super ( null) ;} tagDefineFontInfo public void (int fontid , fontName cadena, int flags , int [] códigos ) throws IOException { fontCodes . put ( new Integer ( fontid ) , códigos) ;} SWFVectors tagDefineFont2 públicos ( int id, int banderas, String nombre , int numGlyphs , ascenso int , int ascendencia , int líderes, int [ ] códigos, int [ ] avances , Rect [ ] agigantados, int [] kernCodes1 , int [] kernCodes2 , int [] kernAdjustments ) throws IOException { fontCodes.put ( new Integer (id ) , ( codes! = null) códigos: ? new int [ 0 ] ) ; devolución null; } tagDefineTextField public void (int fieldId , String fieldName , String initialText , Rect límite , int flags , Alphacolor textColor , int alineación, fontid int , int fontSize , charLimit int , int leftMargin , rightMargin int , int sangría , interlineado int ) throws IOException {if ( initialText = null ) { System.out.println ( initialText ) ;} } public SWFText tagDefineText (int id, Rect límites, matriz Matrix ) throws IOException { return new TextDumper (); } public SWFText tagDefineText2 (int id, Rect límites , matriz Matrix ) throws IOException { return new TextDumper () ;} TextDumper clase pública implementa SWFText {protected Integer fontid ; protegido booleano Firsty = true; fuente public void (int fontid , int textHeight ) { this.fontId = new Integer ( fontid ) ;} Seti public void (int y) { if ( Firsty ) Firsty = false; System.out.println más ( ) ;} texto public void ( int [ ] glyphIndices , int [] glyphAdvances ) { int [ ] Códigos = (int [ ] ) fontCodes.get ( fontid ) ; if ( códigos == null) { System.out.println ("\\ n **** NO PUEDE ENCONTRAR INFORMACIÓN fuente para el texto **** \\ n"); return; } char [ ] chars = new char [ glyphIndices.length ] ; for (int i = 0 ; i < chars.length , i + + ) { int index = glyphIndices [ i]; if ( index> = codes.length ) //sistema de fuentes { chars [ i ] = (char ) índice; } ? else { chars [ i ] = (char ) (códigos [ indice] ) ;} } System.out.print ( caracteres) ;} public void color (Color color) { } public void setX ( int x ) { } public void hecho ( ) { System.out.println () ;} } public static void main (String [] args ) throws IOException { FileInputStream en = new FileInputStream ( args [ ,"0 ] ) ; ExtractText extractor ExtractText = new (); parser TagParser = new TagParser ( extractor ) ; SWFReader reader = new SWFReader ( parser, in) ; reader.readFile (); in.close () ;} }
9
Guarde y cierre el archivo Java.
10
compilar el código fuente Java, colocar el archivo SWF en la misma carpeta y ejecutar el programa Java. Se le pedirá el nombre del archivo SWF. Escriba y presione "Enter " para leer el texto de la SWF.