Som standard är Java oförmögen att arbeta med Flash SWF-filer . SWF-filer är Adobe Flash-filer som innehåller multimedia , vektorgrafik och ActionScript . Dock är en förpackning av funktioner på webben som utökar funktionaliteten i Java och kan du arbeta med Flash-filer . Till exempel kan det hjälpa dig att tolka den SWF-filen och läsa all text . Du kan sedan använda texten i dina andra Java -funktioner . Allt du behöver göra är att ladda ner källfilerna och länka till dem i din Java-program . Instruktioner
1
Öppna webbläsaren och navigera till Softpedia att hämta JavaSWF2 källkoden .
2
Klicka på den blå " Download " -knappen och spara arkivet på din hårddisk .
3
Högerklicka på javaswf - CVS -snapshot - 1.zip arkiv du just hämtat och välj packa upp här för att extrahera innehållet i samma mapp . En mapp med namnet javaswf skapas .
4
Skapa en ny textfil någonstans på hårddisken , name it ReadText.java och tryck på " Enter . " < P
5 > Kopiera com mappen finns inuti javaswf \\ bin mapp i den mapp som innehåller din nya Java -fil .
6
Öppna Java -filen i valfri textredigerare .
7
Sätt dessa rader att importera de nödvändiga resurserna : . . .
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
in denna kod för att läsa texten från SWF -filen : . .
public class ExtractText utökar SWFTagTypesImpl { skyddad HashMap fontCodes = ny HashMap ( ) , offentlig ExtractText ( ) { super ( null ) ;} public void tagDefineFontInfo ( int fontId , String fontName , int flaggor , int [ ] koder ) kastar IOException { fontCodes . sätta ( ny Integer ( fontId ) , koder ) ; } offentliga SWFVectors tagDefineFont2 ( int id , int flaggor , String namn , int numGlyphs , int uppstigning , int nedstigning , int ledande , int [ ] koder , int [ ] förskott , Rekt [ ] gränser , int [ ] kernCodes1 , int [ ] kernCodes2 , int [ ] kernAdjustments ) kastar IOException { fontCodes.put ( ny Integer ( id ) , ( codes! = null ) koder : ? nya int [ 0 ] ) , avkastning null ; } public void tagDefineTextField ( int fieldId , String fieldName , String initialText , Rect gräns , int flaggor , AlphaColor textColor , int anpassning , int fontId , int fontSize , int charLimit , int leftMargin , int rightMargin , int indrag , int lineSpacing ) kastar IOException {if ( initialText = null ) { System.out.println ( initialText ) ;} } public SWFText tagDefineText ( int id , Rect gränser , Matrix matrix ) kastar IOException { return new TextDumper ( ) ; } public SWFText tagDefineText2 ( int id , Rect gränser , Matrix matrix ) kastar IOException { return new TextDumper ( ) ;} public class TextDumper implementerar SWFText { skyddad Integer fontId , skyddad boolean Firsty = true; public void typsnitt ( int fontId , int textHeight ) { this.fontId = new Integer ( fontId ) ; } public void sety ( int y ) {if ( Firsty ) Firsty = false; else System.out.println ( ) ;} public void text (int [ ] glyphIndices , int [ ] glyphAdvances ) {int [ ] koder = ( int [ ] ) fontCodes.get ( fontId ) , om ( koder == null ) { System.out.println ( " \\ n **** kunde inte hitta FONT INFO FÖR TEXT **** \\ n " ) ; avkastning ; } char [] chars = new char [ glyphIndices.length ] , for (int i = 0 ; i. < chars.length , i + + ) { int index = glyphIndices [ i] ; if ( index > = codes.length ) //System Font { tecken [ i] = ( char ) index ;} ? else { tecken [ i] = ( char ) ( koderna [ index ] ) ; } } System.out.println ( tecken ) ;} public void färg ( color färg ) { } public void sattX ( int x ) { } public void klar ( ) { System.out.println ( ) ;} } public static void main ( String [] args ) kastar IOException { FileInputStream i = new FileInputStream ( args [ ,"0 ] ) ; ExtractText extractor = ny ExtractText ( ) ; TagParser parser = ny TagParser ( utsug ) , SWFReader läsare = ny SWFReader ( parser , i ) , reader.readFile ( ) ; in.close ( ) ;} }
9
Spara och stäng Java -filen .
10
Kompilera Java källan , placera den SWF -filen i samma mapp och köra Java-program . Den kommer att fråga efter namnet på den SWF -filen . Skriv den och tryck på " Enter " för att läsa texten från SWF .