0

最近我一直在使用 Jflex,我注意到当我尝试构造 Yylex 对象时,它只接受java.io.Readerand java.io.InputStream。如果我只想通过仅使用字符串来构建对象,我该怎么办?,像这样:

String myString = "Hello world";
String token;
Yylex scanner = new Yylex(myString);

while ((token = scanner.yylex()) != null) {
     //do something
}

在我正在尝试构建的系统中,我希望用户写一些东西,然后将 Yylex 方法应用于它。在我看到的与我的想法相似的模型中,用户输入一个字符串,然后将其写入 Yylex 将读取的文件中。

有可能这样做吗?还是我误解了什么?除了 Jflex,您还推荐其他工具吗?

谢谢!

4

1 回答 1

0

想要的最简单方法是使用 a StringReader,它从 String 创建一个阅读器,而无需任何其他箍跳。只需使用:

Yylex scanner = new Yylex(new StringReader(myString));
于 2014-03-18T21:25:32.923 回答