bufferedinputstreamdemo.java

来自「java2参考大全上的例子的源码和自己的理解.」· Java 代码 · 共 65 行

JAVA
65
字号
package 用mark;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

// Use buffered input.
import java.io.*;

class BufferedInputStreamDemo {
  public static void main(String args[]) throws IOException {
    String s = "This is a &copy; copyright symbol " +
        "but this is &copy not.\n";
    byte buf[] = s.getBytes();
    ByteArrayInputStream in = new ByteArrayInputStream(buf);
    BufferedInputStream f = new BufferedInputStream(in);
    int c;
    boolean marked = false;

    while ( (c = f.read()) != -1) {
      switch (c) {
        case '&':
          if (!marked) {
            f.mark(32);
            marked = true;
          }
          else {
            marked = false;
          }

          break;
        case ';':
          if (marked) {
            marked = false;
            System.out.print("(c)");
          }
          else {
            System.out.print( (char) c);
          }
          break;
        case ' ':
          if (marked) {
            marked = false;
            f.reset();
            System.out.print("&");
          }
          else {
            System.out.print( (char) c);
          }
          break;
        default:
          if (!marked) {
            System.out.print( (char) c);
          }
          break;
      }
    }
  }
}

⌨️ 快捷键说明

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