Groovy中如何将字符串转为InputStream?求无依赖简洁方案
在Groovy中将XML字符串转为InputStream的简洁无依赖方案
嘿,刚好Groovy的GDK给String类内置了超便捷的扩展方法,完全能满足你想要的无依赖、更优雅的需求,根本不用借助IOUtils或者手写Java风格的ByteArrayInputStream!
最简洁的写法直接调用字符串的newInputStream()方法就行:
String xml = "<test/>"; InputStream inputStream = xml.newInputStream()
如果需要明确指定字符编码(比如UTF-8),直接传编码参数就可以:
InputStream inputStream = xml.newInputStream(StandardCharsets.UTF_8)
为什么这个方案更合适?
- 这是Groovy原生的扩展能力,属于GDK的一部分,不需要引入任何第三方依赖
- 代码极度简洁,完美贴合Groovy"用最少代码做最多事"的设计思路,省去了Java里手动处理字节数组的繁琐步骤
- 底层其实还是基于Java的字节流实现,但Groovy把这些细节都封装成了直观的字符串方法,用起来顺手多了
对比你之前用的IOUtils.toInputStream,这个方案完全符合你要的"无依赖、更简洁"的要求,也是Groovy里推荐的原生写法哦。
内容的提问来源于stack exchange,提问作者Michal Kordas
相关产品推荐
相关产品推荐

