aalto-xml-1.1.0.jar
登录
|
com.fasterxml:aalto-xml:1.1.0
META-INF
com
annotations
test
TestStreamCopier.java
TestRawStream.java
BasePerfTest.java
RunStreamWriter.java
TestScannerPerf.java
TestNameHashing.java
TestUTF8.java
TestAsyncReader.java
TestSaxReader.java
TestStreamReader.java
TestEventReader.java
TestTypedSpeed.java
TestNameTable.java
TestLineReader.java
TestBase64Reader.java
TestPNamePerf.java
TestAsyncReader.java
清空
类结构
package test; import java.io.*; import javax.xml.stream.*; import org.codehaus.stax2.
XMLStreamWriter2
; import com.fasterxml.aalto.*; import com.fasterxml.aalto.stax.*; /** * Simple helper test class for checking how stream reader handles xml * documents. */ public class
TestAsyncReader
implements
XMLStreamConstants
{ final static int
BLOCK_SIZE
= 24; protected int
test
(
File
file
) throws
Exception
{ int
bytes
= 0; @
SuppressWarnings
("resource")
InputStream
in
= new
FileInputStream
(
file
);
AsyncXMLStreamReader
<
AsyncByteArrayFeeder
>
asyncReader
= new
InputFactoryImpl
().
createAsyncForByteArray
(); final
AsyncByteArrayFeeder
feeder
=
asyncReader
.
getInputFeeder
(); final byte[]
buf
= new byte[
BLOCK_SIZE
]; // Let's just copy input as is
XMLStreamWriter2
sw
= (
XMLStreamWriter2
) new
OutputFactoryImpl
().
createXMLStreamWriter
(
System
.
out
, "UTF-8");
main_loop
: while (true) { int
type
; // May need to feed multiple segments: while ((
type
=
asyncReader
.
next
()) ==
AsyncXMLStreamReader
.
EVENT_INCOMPLETE
) { if (!
feeder
.
needMoreInput
()) { // sanity check for this test (not needed for real code) throw new
IllegalStateException
("Got EVENT_INCOMPLETE but not expecting more input"); } // System.out.println("READ-MORE: reader == "+asyncReader.toString()); int
len
=
in
.
read
(
buf
); if (
len
< 0) {
System
.
err
.
println
("Error: Unexpected EOF"); break
main_loop
; }
bytes
+=
len
;
feeder
.
feedInput
(
buf
, 0,
len
); }
sw
.
copyEventFromReader
(
asyncReader
, false); if (
type
==
END_DOCUMENT
) { break; } }
feeder
.
endOfInput
();
sw
.
close
(); return
bytes
; } public static void
main
(
String
[]
args
) throws
Exception
{ if (
args
.length != 1) {
System
.
err
.
println
("Usage: java ... "+
TestAsyncReader
.class+" [file]");
System
.
exit
(1); } try { int
total
= new
TestAsyncReader
().
test
(new
File
(
args
[0]));
System
.
err
.
println
();
System
.
err
.
println
("Bytes processed: "+
total
); } catch (
Throwable
t
) {
System
.
err
.
println
("Error: "+
t
);
t
.
printStackTrace
(); } } }
查找资源
Jre/Lib
输入类名或文件名
类结构窗口