【发布时间】:2012-05-02 07:32:36
【问题描述】:
我正在尝试接收一个巨大的文本文件作为输入流,并希望将一个字符串段转换为另一个字符串。我很困惑如何做到这一点,如果我将整个输入流转换为我不想要的字符串,它会很好地工作,因为某些内容会丢失。任何人都可以请帮助如何做到这一点? 例如 如果我有一个包含“这是需要修改的测试字符串”内容的文件。我想接受这个字符串作为输入流,并想将内容修改为“这是被修改的测试字符串”,(通过用 is 替换 'needs to be')。
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
}
在此我希望输出为:这是已修改的测试字符串
提前谢谢你。
【问题讨论】:
-
我会逐行读取输入流(通过 BufferedReader)并在发送到输出之前对整行执行替换。更优雅的方式,从 BufferedReader 继承我的 WholeLineChangerInputStream,覆盖 readLine() 方法(应用替换)并使用它 ^^
-
基本上你需要这个:tutorials.jenkov.com/java-howto/… 然后将其应用到输入流
标签: java inputstream