【发布时间】:2009-10-26 13:36:09
【问题描述】:
如何在 Java 流(输入或输出)中进行动态搜索和替换?
我不想将流加载到内存或文件中。
我只看到经过的字节,我需要做一些替换。被替换的序列很短(最多 20 个字节)。
【问题讨论】:
-
这取决于它是什么样的“流”。是文字吗?它是某种具有已知字段宽度的格式吗?您的问题必须更加具体。
-
这是二进制随机垃圾。
-
替换是否和原来的“字符串”(字节序列)一样长?
-
@Lucero:没有。字符串和替换都比流短得多。但替换可以比原始字符串长、等长或短。
-
这不是您问题的真正答案。不过,您应该查看 java.nio 包。请看以下示例:NIO Examples 第一个示例展示了如何对文件执行简单的“grep”。使用 NIO,您不必担心缓冲区大小,只需让正则表达式库方法完成繁重的工作。
标签: java regex io stream replace