Som standard er Java stand til å arbeide med Flash SWF-filer . SWF-filer er Adobe Flash-filer som inneholder multimedia, vektorgrafikk og ActionScript . Imidlertid er en pakke med funksjoner tilgjengelig på nettet som utvider funksjonaliteten til Java og lar deg jobbe med Flash-filer . For eksempel kan det hjelpe deg å analysere SWF-fil og lese all tekst. Du kan deretter bruke teksten i de andre Java-funksjoner . Alt du trenger å gjøre er å laste ned kildefilene og lenke til dem i din Java-program . Instruksjoner
en
Åpne nettleseren og gå til Softpedia å laste ned JavaSWF2 kildekoden.
2
Klikk på den blå knappen "Download" og lagre arkiv på harddisken.
3
Høyreklikk javaswf - CVS - SNAPSHOT - 1.zip arkivet du nettopp lastet ned og velge Pakk ut her å pakke ut innholdet i den samme mappen . En mappe som heter javaswf er opprettet .
4
Lag en ny tekstfil hvor som helst på harddisken , name it ReadText.java og trykk " Enter".
5
Kopier com mappen funnet inne i javaswf \\ bin -mappen i mappen som inneholder den nye Java -fil .
6
Åpne Java -filen i en tekst editor.
7
Sett disse linjene til å importere de nødvendige ressurser : . . .
import java.io. * ; import java.util * ; import com.anotherbigidea.flash.interfaces * ; import com.anotherbigidea.flash.writers * , import com.anotherbigidea.flash.readers * , import com.anotherbigidea.flash.structs * ;
8
Sett denne koden for å lese teksten fra SWF -filen : . .
< p > public class ExtractText strekker SWFTagTypesImpl { beskyttet HashMap fontCodes = new HashMap (); offentlig ExtractText ( ) { super ( null ) ;} public void tagDefineFontInfo ( int fontId , String FontName , int flagg , int [] koder) kaster IOException { fontCodes . sette (new Integer ( fontId ) , koder) ;} offentlige SWFVectors tagDefineFont2 ( int id , int flagg , String navn, int numGlyphs , int oppstigning, int avstamning, int ledende , int [ ] koder, int [ ] fremskritt , Rect [ ] grenser, int [] kernCodes1 , int [] kernCodes2 , int [] kernAdjustments ) kaster IOException { fontCodes.put (new Integer (id ) , ( codes! = null ) koder : ? nye int [ 0 ] ); retur null; } public void tagDefineTextField ( int fieldId , String fieldname , String initialText , Rect grensen , int flagg , AlphaColor TextColor , int justering, int fontId , int skrift , int charLimit , int leftmargin , int rightMargin , int innrykk, int lineSpacing ) kaster IOException {if ( initialText = null ! ) { System.out.println ( initialText ) ;} } public SWFText tagDefineText ( int id , Rect grenser , Matrix matrise ) kaster IOException { return new TextDumper (); } public SWFText tagDefineText2 ( int id , Rect bounds , Matrix matrise ) kaster IOException { return new TextDumper (); } public class TextDumper implementerer SWFText { beskyttet Integer fontId ; beskyttet boolean Firsty = true; public void skrift ( int fontId , int textHeight ) { this.fontId = new Integer ( fontId ) ;} public void Sety ( int y) { if ( Firsty ) Firsty = false; else System.out.println (); } public void tekst ( int [ ] glyphIndices , int [] glyphAdvances ) {int [ ] koder = ( int [ ] ) fontCodes.get ( fontId ), hvis ( koder == null ) { System.out.println ( "\\ n **** kunne ikke finne FONT INFO TIL TEKST **** \\ n "); tilbake; } char [] chars = new char [ glyphIndices.length ]; for ( int i = 0 ; i < chars.length ; i + + ) { int index = glyphIndices [i ]; if ( indeks > = codes.length ) //System Font { tegn [ i] = (char ) index ;} ? else { tegn [ i] = (char ) ( koder [ indeks ] ); } } System.out.print ( tegn) ;} public void farge ( Color farge) { } public void setX ( int x ) { } public void gjort ( ) { System.out.println (); } } public static void main (String [] args ) throws IOException { FileInputStream i = nye FileInputStream ( args [ ,"0 ] ) ; ExtractText kjøkkenvifte = new ExtractText (); TagParser parser = ny TagParser ( kjøkkenvifte ) ; SWFReader leser = new SWFReader ( parser, i ) ; reader.readFile (); in.close (); } }
9
Lagre og lukk Java -fil.
10
kompilere Java- kilde , plasserer SWF -fil inne i samme mappe og kjøre Java- program . Den vil be om navnet på SWF-fil. Skriv inn det og trykk " Enter" for å lese teksten fra SWF.