Java CSS解析器解析字符串内容

Java CSS解析器解析字符串内容,java,css,parsing,css-parsing,Java,Css,Parsing,Css Parsing,我试图在一个java项目中使用它从一个文本输入字符串中提取CSS规则/DOM 我遇到的所有示例都以css文件作为输入。有没有办法绕过文件读取,直接处理css文件的字符串内容 因为我正在处理的类只获取css文件的字符串内容,所有的读取都已经处理好了 现在我有了这个,其中“cssfile”是正在解析的css文件的文件路径 InputStream stream = oParser.getClass().getResourceAsStream(cssfile); InputSource source =

我试图在一个java项目中使用它从一个文本输入字符串中提取CSS规则/DOM

我遇到的所有示例都以css文件作为输入。有没有办法绕过文件读取,直接处理css文件的字符串内容

因为我正在处理的类只获取css文件的字符串内容,所有的读取都已经处理好了

现在我有了这个,其中“cssfile”是正在解析的css文件的文件路径

InputStream stream = oParser.getClass().getResourceAsStream(cssfile);
InputSource source = new InputSource(new InputStreamReader(stream));
CSSOMParser parser = new CSSOMParser();
CSSStyleSheet stylesheet = parser.parseStyleSheet(source, null, null);
CSSRuleList ruleList = stylesheet.getCssRules();  
System.out.println("Number of rules: " + ruleList.getLength());

我发现的一个解决方法是使用带有内容的StringReader创建一个读卡器,并为输入源设置characterStream。但是应该有更好的方法来做到这一点

InputSource inputSource = new InputSource();
Reader characterStream = new StringReader(cssContent);
inputSource.setCharacterStream(characterStream);
CSSStyleSheet stylesheet = cssParserObj.parseStyleSheet(source, null,
            null);
CSSRuleList ruleList = stylesheet.getCssRules();

为什么要有更好的方法?这似乎是一种完全合法的方法,我在CSS解析器api中搜索一种直接输入字符串内容以获得CSSStyleSheet的方法。想要取消从字符串创建读取器对象。。如果失败,我将使用上述解决方案本身。
StringReader
是基于
String
Reader
的API之间相当标准的适配器。让您的API采用
读取器
可读
可以同时启用内存中的内容和来自外部资源的内容,同时保持API的小型化,并且不会对字符串输入是文件路径、URL还是内容本身产生歧义。哦,从来没有这样想过!!从API的角度将url输入与字符串内容输入分开是有意义的。谢谢