use of java.io.StringReader in project androidannotations by androidannotations.
the class SetXmlSerializer method deserialize.
public static Set<String> deserialize(String data) {
Set<String> stringSet = new TreeSet<>();
XmlPullParser parser = Xml.newPullParser();
try {
parser.setInput(new StringReader(data));
parser.next();
parser.require(XmlPullParser.START_TAG, NAMESPACE, SET_TAG);
while (parser.next() != XmlPullParser.END_TAG) {
parser.require(XmlPullParser.START_TAG, NAMESPACE, STRING_TAG);
parser.next();
parser.require(XmlPullParser.TEXT, null, null);
stringSet.add(parser.getText());
parser.next();
parser.require(XmlPullParser.END_TAG, null, STRING_TAG);
}
} catch (XmlPullParserException e) {
Log.w("getStringSet", e);
return null;
} catch (IOException e) {
Log.w("getStringSet", e);
return null;
}
return stringSet;
}
use of java.io.StringReader in project antlr4 by antlr.
the class TestUnbufferedTokenStream method testMarkThenRelease.
@Test
public void testMarkThenRelease() throws Exception {
LexerGrammar g = new LexerGrammar("lexer grammar t;\n" + "ID : 'a'..'z'+;\n" + "INT : '0'..'9'+;\n" + "SEMI : ';';\n" + "ASSIGN : '=';\n" + "PLUS : '+';\n" + "MULT : '*';\n" + "WS : ' '+;\n");
// Tokens: 012345678901234567
// Input: x = 302;
CharStream input = new ANTLRInputStream(new StringReader("x = 302 + 1;"));
LexerInterpreter lexEngine = g.createLexerInterpreter(input);
TestingUnbufferedTokenStream<Token> tokens = new TestingUnbufferedTokenStream<Token>(lexEngine);
int m = tokens.mark();
assertEquals("[[@0,0:0='x',<1>,1:0]]", tokens.getBuffer().toString());
assertEquals("x", tokens.LT(1).getText());
// consume x
tokens.consume();
assertEquals("[[@0,0:0='x',<1>,1:0], [@1,1:1=' ',<7>,1:1]]", tokens.getBuffer().toString());
// ' '
tokens.consume();
// =
tokens.consume();
// ' '
tokens.consume();
assertEquals("302", tokens.LT(1).getText());
// "x = 302" is in buffer. will kill buffer
tokens.release(m);
// 302
tokens.consume();
// ' '
tokens.consume();
// mark at the +
m = tokens.mark();
assertEquals("+", tokens.LT(1).getText());
// '+'
tokens.consume();
// ' '
tokens.consume();
// 1
tokens.consume();
// ;
tokens.consume();
assertEquals("<EOF>", tokens.LT(1).getText());
// we marked at the +, so that should be the start of the buffer
assertEquals("[[@6,8:8='+',<5>,1:8], [@7,9:9=' ',<7>,1:9]," + " [@8,10:10='1',<2>,1:10], [@9,11:11=';',<3>,1:11]," + " [@10,12:11='<EOF>',<-1>,1:12]]", tokens.getBuffer().toString());
tokens.release(m);
}
use of java.io.StringReader in project antlr4 by antlr.
the class TestUnbufferedTokenStream method testNoBuffering.
@Test
public void testNoBuffering() throws Exception {
LexerGrammar g = new LexerGrammar("lexer grammar t;\n" + "ID : 'a'..'z'+;\n" + "INT : '0'..'9'+;\n" + "SEMI : ';';\n" + "ASSIGN : '=';\n" + "PLUS : '+';\n" + "MULT : '*';\n" + "WS : ' '+;\n");
// Tokens: 012345678901234567
// Input: x = 302;
CharStream input = new ANTLRInputStream(new StringReader("x = 302;"));
LexerInterpreter lexEngine = g.createLexerInterpreter(input);
TestingUnbufferedTokenStream<Token> tokens = new TestingUnbufferedTokenStream<Token>(lexEngine);
assertEquals("[[@0,0:0='x',<1>,1:0]]", tokens.getBuffer().toString());
assertEquals("x", tokens.LT(1).getText());
// move to WS
tokens.consume();
assertEquals(" ", tokens.LT(1).getText());
assertEquals("[[@1,1:1=' ',<7>,1:1]]", tokens.getRemainingBuffer().toString());
tokens.consume();
assertEquals("=", tokens.LT(1).getText());
assertEquals("[[@2,2:2='=',<4>,1:2]]", tokens.getRemainingBuffer().toString());
tokens.consume();
assertEquals(" ", tokens.LT(1).getText());
assertEquals("[[@3,3:3=' ',<7>,1:3]]", tokens.getRemainingBuffer().toString());
tokens.consume();
assertEquals("302", tokens.LT(1).getText());
assertEquals("[[@4,4:6='302',<2>,1:4]]", tokens.getRemainingBuffer().toString());
tokens.consume();
assertEquals(";", tokens.LT(1).getText());
assertEquals("[[@5,7:7=';',<3>,1:7]]", tokens.getRemainingBuffer().toString());
}
use of java.io.StringReader in project otter by alibaba.
the class JsonUtilsTest method test_bytes.
@Test
public void test_bytes() {
Map data = new HashMap<String, byte[]>();
byte[] one = new byte[] { 1, 2, 3 };
byte[] two = new byte[] { 4, 5, 6 };
data.put("one", one);
data.put("two", two);
StringWriter jsonStr = new StringWriter();
//超大文本写入
JSONWriter writer = new JSONWriter(jsonStr);
writer.startArray();
writer.writeValue(one);
writer.writeValue(two);
writer.endArray();
try {
writer.close();
} catch (IOException e) {
}
JSONReader reader = new JSONReader(new StringReader(jsonStr.getBuffer().toString()));
byte[] oneDates = null;
byte[] twoDates = null;
reader.startArray();
while (reader.hasNext()) {
if (oneDates == null) {
oneDates = reader.readObject(byte[].class);
} else if (twoDates == null) {
twoDates = reader.readObject(byte[].class);
} else {
want.fail("not possible");
}
}
reader.endArray();
reader.close();
check(oneDates, one);
check(twoDates, two);
}
use of java.io.StringReader in project gradle by gradle.
the class EnvJsBrowserEvaluator method evaluate.
public void evaluate(String url, Writer writer) {
EnvJvEvaluateProtocol evaluator = rhinoWorkerHandleFactory.create(rhinoClasspath, EnvJvEvaluateProtocol.class, EnvJsEvaluateWorker.class, logLevel, workingDir);
final String result = evaluator.process(new EnvJsEvaluateSpec(envJsFactory.create(), url));
try {
IOUtils.copy(new StringReader(result), writer);
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}
Aggregations