首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.util.Scanner读取剩余内容

java.util.Scanner读取剩余内容
EN

Stack Overflow用户
提问于 2012-03-18 17:08:08
回答 2查看 2.1K关注 0票数 2

使用java.util.Scanner实例,是否有可能返回所有剩余内容?我的场景是,一旦我读取了String中的许多字段,我只想获取剩下的内容并将其存储在其他地方。例如,我的内容可能包括:

代码语言:javascript
复制
1,2,Some Garbage with \' special characters and so on

我将使用,作为分隔符来构造扫描器,调用getInt()两次,然后希望在一次调用中返回"Some Garbage with \' special characters and so on"

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-18 17:18:36

使用Scanner没有“好”的方法可以做到这一点。您可以尝试像$这样将String next(Pattern pattern)传递给它的多行模式

Pattern p = Pattern.compile("$", Pattern.MULTILINE);

我还没有试过这个,但它可能会起作用。当您的输入中还有几行时,不要忘记检查它。

但我认为更好的方法是在循环中使用普通的read(byte[])方法读取包装的输入流。这是因为扫描器没有按原样读取流。它负责读取单独的字段。它做得很好。在您的例子中,您只需要读取"blob",所以只需使用payload stream读取它即可。

票数 2
EN

Stack Overflow用户

发布于 2017-01-17 17:29:49

作为AlexR's answer points,读取原始流应该更好-但在我的例子中,它被消耗了,无法读取。

Scanner to read 'all': \\A中有特殊的字符/分隔符。因此,如果您想要扫描仪的其余部分,您可以更改它:

代码语言:javascript
复制
scanner.useDelimiter("\\A");
String content = scanner.hasNext() ? scanner.next() : null;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9757171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档