最近我一直在使用Jflex,我注意到,当我试图构建Yylex对象时,它只接受java.io.Reader
和java.io.InputStream
。我怎么能做,如果我只是想通过只使用字符串构建对象?,如:
String myString = "Hello world";
String token;
Yylex scanner = new Yylex(myString);
while ((token = scanner.yylex()) != null) {
//do something
}
在系统中,我试图建立我希望用户写一些东西,然后应用Yylex方法。在模型中,我看到与我的想法类似,用户输入一个字符串,然后将其写入Yylex将读取的文件中。
这可能吗?还是我误会了什么?除了Jflex,你还有什么推荐的工具吗?
谢谢!
你想要的最简单的方法是使用StringReader
,它从字符串创建阅读器,而不需要跳过任何其他的环。简单地使用:
Yylex scanner = new Yylex(new StringReader(myString));