Per impostazione predefinita , Java non è in grado di lavorare con i file Flash SWF . I file SWF sono file Flash di Adobe che contengono multimediali, grafica vettoriale e ActionScript . Tuttavia, un pacchetto di funzioni è disponibile sul Web , che estende le funzionalità di Java e permette di lavorare con i file Flash . Ad esempio, può aiutare a analizzare il file SWF e leggere tutto il testo . È quindi possibile utilizzare il testo nelle altre funzioni Java . Tutto quello che dovete fare è scaricare i file di origine e link a loro nella vostra applicazione Java . Istruzioni
1
Aprire il browser Web e navigare a Softpedia per scaricare il codice sorgente JavaSWF2 .
2 Fare clic sul pulsante blu "Download" e salvare l'archivio sul vostro unità disco fisso.
3
pulsante destro del mouse l'archivio javaswf - CVS - SNAPSHOT - 1.zip appena scaricato e selezionate Estrai qui per estrarne il contenuto nella stessa cartella . Una cartella denominata javaswf è creata .
4
Creare un nuovo file di testo in qualsiasi punto del disco rigido , denominarlo ReadText.java e premere "Invio".
5 < p > Copiare la cartella com trovato all'interno della cartella bin javaswf \\ nella cartella contenente il nuovo file Java .
6
Aprire il file Java in qualsiasi editor di testo .
7
inserire queste righe di importare le risorse richieste : . . .
import java.io. *; import java.util * ; import com.anotherbigidea.flash.interfaces * ; com.anotherbigidea.flash.writers importazione * ; com.anotherbigidea.flash.readers import * ; com.anotherbigidea.flash.structs importazione * ;
8
Inserire questo codice per leggere il testo dal file SWF : . .
< p > public class ExtractText estende SWFTagTypesImpl {protected HashMap fontCodes = new HashMap (); ExtractText pubblico ( ) { super ( null) ; } vuoto tagDefineFontInfo pubblico (int fontid , String fontName , int flags , int [] codici ) throws IOException { fontCodes . put ( new Integer ( fontid ) , codici );} SWFVectors tagDefineFont2 pubblici ( int id , int flags , String name , numGlyphs int , int salita , discesa int , int leader, int [ ] codici, int [ ] avanza , Rect [ ] gigante, int [] kernCodes1 , int [] kernCodes2 , int [] kernAdjustments ) throws IOException { fontCodes.put ( new Integer ( id ) , ( codes! = null) codici: ? nuovi int [ 0 ] ) ; ritorno null; } vuoto tagDefineTextField pubblico (int fieldid , String fieldName , String initialText , Rect confine , int flags , AlphaColor textColor , int allineamento , int fontid , int fontSize , int charLimit , int leftMargin , int rightMargin , int indentazione , int interlinea ) throws IOException {if ( initialText = null ) { System.out.println ( initialText );} } public SWFText tagDefineText (int id , Rect limiti , matrix Matrix ) throws IOException { return new TextDumper ( ) ; } public SWFText tagDefineText2 (int id , Rect limiti , matrix Matrix ) throws IOException { return new TextDumper ( ) ; } TextDumper public class implementa SWFText {protected Integer fontid ; protetta booleano Firsty = true ; carattere public void ( int fontid , int textHeight ) { this.fontId = new Integer ( fontid ) ; } vuoto Sety pubblico ( int y ) {if ( Firsty ) Firsty = false; altro System.out.println (); } testo public void ( int [ ] glyphIndices , int [] glyphAdvances ) {int [ ] codici = (int [ ] ) fontCodes.get ( fontid ) ; if ( codice == null) { System.out.println ( "\\ n **** non poteva trovare INFO carattere del testo **** \\ n"); return; } char [] chars = new char [ glyphIndices.length ] ; for (int i = 0; i < chars.length ; i + + ) { int index = glyphIndices [ i]; if ( index > = codes.length ) //font di sistema { caratteri [ i] = ( char) indice ; } ? else { caratteri [ i] = (char ) (codici [index ] );} } System.out.println ( caratteri) ; } public void colore (Color colore) { } public void setX ( int x ) { } public void fatto ( ) { System.out.println (); } } public static void main (String [] args ) throws IOException { FileInputStream in = new FileInputStream ( args [ ,"0 ] ) ; ExtractText estrattore = new ExtractText ( ) ; TagParser parser = new TagParser ( estrattore ) ; SWFReader reader = new SWFReader ( parser , in ) ; reader.readFile (); in.close (); } }
9
Salvare e chiudere il file Java .
10
compilare il sorgente Java , posizionare il file SWF all'interno della stessa cartella ed eseguire il programma Java . Ti verrà chiesto il nome del file SWF . Digitare e premere "Invio" per leggere il testo dal file SWF .