replacetextstream.java

来自「tomcat与java web 这本书的配套源代码」· Java 代码 · 共 87 行

JAVA
87
字号
import java.io.*;import javax.servlet.*;class ReplaceTextStream extends ServletOutputStream {     private OutputStream intStream;     private ByteArrayOutputStream baStream;     private boolean closed = false;     private String oldStr;     private String newStr;     public ReplaceTextStream(OutputStream outStream,                              String searchStr,                              String replaceStr) {          intStream = outStream;          baStream = new ByteArrayOutputStream();          oldStr = searchStr;          newStr = replaceStr;     }    public void write(int a)throws IOException{       baStream.write(a);    }   public void println(String s)throws IOException{     s=s+"\n";     byte[] bs=s.getBytes();     baStream.write(bs);   }   public void close() throws java.io.IOException {          if (!closed) {            processStream();            intStream.close();            closed = true;          }       }    public void flush() throws java.io.IOException {        if (baStream.size() != 0) {             if (! closed) {              processStream();           // need to synchronize the flush!              baStream = new ByteArrayOutputStream();              }           }        }     public void processStream() throws java.io.IOException {         intStream.write(replaceContent(baStream.toByteArray()));         intStream.flush();     }     public byte []  replaceContent(byte [] inBytes) {          String retVal ="";          String firstPart="";          String tpString = new String(inBytes);          String srchString = (new String(inBytes)).toLowerCase();          int endBody = srchString.indexOf(oldStr);          if (endBody != -1) {               firstPart = tpString.substring(0, endBody);           retVal = firstPart + newStr +                  tpString.substring(endBody + oldStr.length());            } else {              retVal=tpString;            }          return retVal.getBytes();    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?