⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stream.java

📁 Java经典例程 从外国一大学计算机教授出版物下载的代码 经典
💻 JAVA
字号:
package javagently;

import java.io.*;
import java.util.*;
import java.text.*;


public class Stream {

  /* The Stream class     by J M Bishop and B Worrall May 2000
   *                      based on the Text class Aug 1996
   *                      on suggestion from Jens Kaasb鴏l
   *
   * Provides simple input from the keyboard and files.
   * And formatted output to the screen and files.
   *
   * Constructors
   * ------------
   * public Stream (InputStream in)
   * public Stream (String filename, int why)
   *
   * Input
   * -----
   * public int    readInt ()
   * public double readDouble ()
   * public String readString ()
   * public char   readChar ()
   *
   * Output
   * ------
   * public void println  - for Objects, String, int, double, char
   * public void print    - for Objects, String, int, double, char
   * public void close()
   *
   * Output - class methods
   * ----------------------
   * public String format (int number, int align)
   * public String format (double number, int align, int frac)
   */


  private BufferedReader in;
  private PrintWriter out;
  private StringTokenizer T;
  private String S;

  public static final int
	READ = 0,
	WRITE = 1;

  public Stream(InputStream i) {
	in = open(i);
  }

  public Stream(String filename, int how) throws FileNotFoundException, IOException {
	switch(how) {
	  case READ: in = open(filename); break;
	  case WRITE: out = create(filename); break;
	}
  }

  private BufferedReader open(InputStream in) {
	return new BufferedReader(new InputStreamReader(in));
  }

  private BufferedReader open(String filename) throws FileNotFoundException {
	return new BufferedReader(new FileReader(filename));
  }

  private PrintWriter create(String filename) throws IOException {
	return new PrintWriter(new FileWriter(filename));
  }

  public String readLine () throws IOException {
    refresh();
    return S;
  }

  public int readInt () throws IOException {
    if (T==null) refresh();
    while (true) {
      try {
        return Integer.parseInt(T.nextToken());
      }
      catch (NoSuchElementException e1) {
        refresh ();
      }
      catch (NumberFormatException e2) {
        System.out.println("Error in number, try again.");
      }
    }
  }

  public char readChar () throws IOException {
    if (T==null) refresh();
    while (true) {
      try {
        return T.nextToken().trim().charAt(0);
      }
      catch (NoSuchElementException e1) {
        refresh ();
      }
    }
  }

  public double readDouble () throws IOException {
    if (T==null) refresh();
    while (true) {
      try {
        String item = T.nextToken();
        return Double.valueOf(item.trim()).doubleValue();
      }
      catch (NoSuchElementException e1) {
        refresh ();
      }
      catch (NumberFormatException e2) {
        System.out.println("Error in number, try again.");
      }
    }
  }

  public String readString () throws IOException {
    if (T==null) refresh ();
    while (true) {
      try {
        return T.nextToken();
      }
      catch (NoSuchElementException e1) {
        refresh ();
      }
    }
  }

  private void refresh () throws IOException {
    S = in.readLine ();
    if (S==null) throw new EOFException();
    T = new StringTokenizer (S);
  }

  private static DecimalFormat N = new DecimalFormat();
  private static final String spaces = "                    ";

  public static String format(double number, int align, int frac) {
    N.setGroupingUsed(false);
	N.setMaximumFractionDigits(frac);
	N.setMinimumFractionDigits(frac);
	String num = N.format(number);
	if (num.length() < align)
	   num = spaces.substring(0,align-num.length()) + num;
    return num;
  }

  public static String format(int number, int align) {
    N.setGroupingUsed(false);
    N.setMaximumFractionDigits(0);
    String num = N.format(number);
    if (num.length() < align)
       num = spaces.substring(0,align-num.length()) + num;
    return num;
  }

	public void println(Object s) {
		out.println(String.valueOf(s));
		out.flush();
	}

	public void println(String s) {
		out.println(s);
		out.flush();
	}

	public void println(int s) {
		out.println(s);
		out.flush();
	}

	public void println(double s) {
		out.println(s);
		out.flush();
	}

	public void println(char s) {
		out.println(s);
		out.flush();
	}

	public void print(Object s) {
		out.print(String.valueOf(s));
		out.flush();
	}

	public void print(String s) {
		out.print(s);
		out.flush();
	}

	public void print(int s) {
		out.print(s);
		out.flush();
	}

	public void print(double s) {
		out.print(s);
		out.flush();
	}

	public void print(char s) {
		out.print(s);
		out.flush();
	}

	public void close() throws IOException {
		if (out != null)
			out.close();
		if (in != null)
			in.close();
	}

	public void flush() {
		out.flush();
	}


}

⌨️ 快捷键说明

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