最近我一直在使用Jflex,我注意到当我尝试构建Yylex对象时,它只接受java.io.Reader
和java.io.InputStream
。如果我只想使用String?来构建对象,我该怎么办?,如下所示:
String myString = "Hello world";
String token;
Yylex scanner = new Yylex(myString);
while ((token = scanner.yylex()) != null) {
//do something
}
在我尝试构建的系统中,我希望用户编写内容,然后将Yylex方法应用于它。在我看到的类似于我的想法的模型中,用户输入一个字符串,然后将其写入Yylex将读取的文件中。
有可能吗?或者我误解了什么?有没有其他工具可以推荐而不是Jflex?
谢谢!
答案 0 :(得分:0)
最简单的方法是使用StringReader
,它可以从字符串中创建一个读取器,而无需跳过其他任何环节。只需使用:
Yylex scanner = new Yylex(new StringReader(myString));