从输入流中替换字符串段

ran*_*jan 6 java inputstream

我试图接收一个巨大的文本文件作为输入流,并希望将字符串段转换为另一个字符串.我严格意识到如何做到这一点,如果我将整个输入流转换为字符串,我不想要,因为一些内容丢失,它很有效.谁能请帮忙怎么做?例如,如果我有一个文件,其内容为"这是需要修改的测试字符串".我想接受这个字符串作为输入流,并希望将内容修改为"这是被修改的测试字符串",(通过将'需要'替换为is).

    public static void main(String[] args) {
        String string = "This is the test string which needs to be modified";
        InputStream inpstr = new ByteArrayInputStream(string.getBytes());
           //Code to do


    }
Run Code Online (Sandbox Code Playgroud)

在这里我希望输出为:这是被修改的测试字符串

提前感谢你.

Nik*_*pov 2

可能我理解错了,但我认为你应该构建一台堆栈机。我的意思是您可以使用一个小字符串堆栈来收集文本并检查替换条件。

如果刚刚收集的堆栈已不符合您的条件,只需将堆栈刷新到输出并再次收集即可。

如果您的堆栈状况相似,请继续收集它。

如果您的堆栈符合您的条件,请进行修改并将修改后的堆栈刷新到输出。

  • 我发现了类似的东西并且可以使用(对我有用,耶!)http://tech.joshuacummings.com/2012/02/search-and-replace-input-stream.html (2认同)