1 38 39 package samples.stax; 40 41 import java.io.PrintWriter ; 42 import java.io.File ; 43 import java.io.InputStream ; 44 import java.io.FileInputStream ; 45 import java.io.BufferedInputStream ; 46 import java.io.FileNotFoundException ; 47 import javax.xml.stream.XMLStreamReader; 48 import javax.xml.stream.XMLEventReader; 49 import javax.xml.stream.XMLStreamException; 50 51 import com.sun.xml.fastinfoset.stax.StAXDocumentParser; 52 import samples.common.Util; 53 54 60 public class StreamReader { 61 62 63 public StreamReader() { 64 } 65 70 public static void main(String [] args) { 71 if (args.length < 1 || args.length > 1) { 72 displayUsageAndExit(); 73 } 74 StreamReader streamReader = new StreamReader(); 75 streamReader.parse(args[0]); 76 } 77 78 82 public void parse(String filename) { 83 File input = null; 84 InputStream document = null; 85 XMLStreamReader streamReader = null; 86 try{ 87 input = new File (filename); 88 document= new BufferedInputStream (new FileInputStream (filename)); 89 90 streamReader = new StAXDocumentParser(document); 91 92 } catch (Exception e) { 93 e.printStackTrace(); 94 } 95 96 System.out.println("Reading "+ input.getName() + ": \n"); 97 long starttime = System.currentTimeMillis() ; 98 try{ 99 int eventType = streamReader.getEventType(); 100 101 while(streamReader.hasNext()){ 102 eventType = streamReader.next(); 103 Util.printEventType(eventType); 104 Util.printName(streamReader,eventType); 105 Util.printText(streamReader); 106 if(streamReader.isStartElement()){ 107 Util.printAttributes(streamReader); 108 } 109 Util.printPIData(streamReader); 110 System.out.println("-----------------------------"); 111 } 112 }catch(Exception ex){ 113 ex.printStackTrace(); 114 } 115 long endtime = System.currentTimeMillis(); 116 System.out.println(" Parsing Time = " + (endtime - starttime) ); 117 118 } 119 120 private static void displayUsageAndExit() { 121 System.err.println("Usage: ant StreamReader or samples.stax.StreamReader FI_file"); 122 System.exit(1); 123 } 124 125 } 126 | Popular Tags |