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

📄 tij317.htm

📁 这也是我们java老师给我们的thinking in java的一些资料
💻 HTM
📖 第 1 页 / 共 5 页
字号:
    <font color=#0000ff>this</font>.className = className;
    openOutputFile();
  }
  <font color=#009900>// public PrintStream getConsole() { return console; }</font>
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> dispose() {
    System.setOut(console);
    System.setErr(err);
    System.setIn(stdin);
  }
  <font color=#009900>// This will write over an old Output.txt file:</font>
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> openOutputFile() {
    <font color=#0000ff>try</font> {
      fout = <font color=#0000ff>new</font> PrintStream(<font color=#0000ff>new</font> FileOutputStream(
        <font color=#0000ff>new</font> File(className + <font color=#004488>"Output.txt"</font>)));
    } <font color=#0000ff>catch</font> (FileNotFoundException e) {
      <font color=#0000ff>throw</font> <font color=#0000ff>new</font> RuntimeException(e);
    }
  }
  <font color=#009900>// Override all possible print/println methods to send</font>
  <font color=#009900>// intercepted console output to both the console and</font>
  <font color=#009900>// the Output.txt file:</font>
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> print(<font color=#0000ff>boolean</font> x) {
    console.print(x);
    fout.print(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> println(<font color=#0000ff>boolean</font> x) {
    numOfLines++;
    console.println(x);
    fout.println(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> print(<font color=#0000ff>char</font> x) {
    console.print(x);
    fout.print(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> println(<font color=#0000ff>char</font> x) {
    numOfLines++;
    console.println(x);
    fout.println(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> print(<font color=#0000ff>int</font> x) {
    console.print(x);
    fout.print(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> println(<font color=#0000ff>int</font> x) {
    numOfLines++;
    console.println(x);
    fout.println(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> print(<font color=#0000ff>long</font> x) {
    console.print(x);
    fout.print(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> println(<font color=#0000ff>long</font> x) {
    numOfLines++;
    console.println(x);
    fout.println(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> print(<font color=#0000ff>float</font> x) {
    console.print(x);
    fout.print(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> println(<font color=#0000ff>float</font> x) {
    numOfLines++;
    console.println(x);
    fout.println(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> print(<font color=#0000ff>double</font> x) {
    console.print(x);
    fout.print(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> println(<font color=#0000ff>double</font> x) {
    numOfLines++;
    console.println(x);
    fout.println(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> print(<font color=#0000ff>char</font>[] x) {
    console.print(x);
    fout.print(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> println(<font color=#0000ff>char</font>[] x) {
    numOfLines++;
    console.println(x);
    fout.println(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> print(String x) {
    console.print(x);
    fout.print(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> println(String x) {
    numOfLines++;
    console.println(x);
    fout.println(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> print(Object x) {
    console.print(x);
    fout.print(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> println(Object x) {
    numOfLines++;
    console.println(x);
    fout.println(x);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> println() {
    <font color=#0000ff>if</font>(<font color=#0000ff>false</font>) console.print(<font color=#004488>"println"</font>);
    numOfLines++;
    console.println();
    fout.println();
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font>
  write(<font color=#0000ff>byte</font>[] buffer, <font color=#0000ff>int</font> offset, <font color=#0000ff>int</font> length) {
    console.write(buffer, offset, length);
    fout.write(buffer, offset, length);
  }
  <font color=#0000ff>public</font> <font color=#0000ff>void</font> write(<font color=#0000ff>int</font> b) {
    console.write(b);
    fout.write(b);
  }
} <font color=#009900>///:~</font></PRE></FONT></BLOCKQUOTE><p><br></p>
<p>The constructor for <b>TestStream</b>, after calling the constructor for the base class, first saves references to standard output and standard error, and then redirects both streams to the <b>TestStream</b> object. The static methods <b>setOut(&#160;)</b> and <b>setErr(&#160;)</b> both take a <b>PrintStream</b> argument. <a name="Index2016"></a><b>System.out</b> and <a name="Index2017"></a><b>System.err</b> references are unplugged from their normal object and instead are plugged into the <b>TestStream</b> object, so <b>TestStream</b> must also be a <b>PrintStream</b> (or equivalently, something inherited from <b>PrintStream</b>). The original standard output <b>PrintStream</b> reference is captured in the console reference inside <b>TestStream</b>, and every time console output is intercepted, it is sent to the original console as well as to an output file. The <b>dispose(&#160;)</b> method is used to set standard I/O references back to their original objects when <b>TestStream</b> is finished with them. <font size="-2"><a href="mailto:TIJ3@MindView.net?Subject=[TIJ3]A0185" title="Send BackTalk Comment">Feedback</a></font><br></p>
<p>For automatic testing of examples that require user input from the console, the constructor redirects calls to standard input. The current standard input is stored in a reference so that <b>dispose(&#160;) </b>can restore it to its original state. Using <b>System.setIn(&#160;)</b>, an anonymous inner class is set to handle any requests for input by the program under test. The <b>read(&#160;)</b> method of this inner class produces the letters &#147;test&#148; followed by a newline. <font size="-2"><a href="mailto:TIJ3@MindView.net?Subject=[TIJ3]A0187" title="Send BackTalk Comment">Feedback</a></font><br></p>
<p><b>TestStream</b> overrides a variety of <b>PrintStream</b> <b>print(&#160;)</b> and <b>println(&#160;)</b> methods for each type. Each of these methods writes both to the &#147;standard&#148; output and to an output file. The <b>expect(&#160;)</b> method can then be used to test whether output produced by a program matches the expected output provided as argument to <b>expect(&#160;)</b>. <font size="-2"><a href="mailto:TIJ3@MindView.net?Subject=[TIJ3]A0205" title="Send BackTalk Comment">Feedback</a></font><br></p>
<p>These tools are used in the <b>Test</b> class:<br></p>

<BLOCKQUOTE><FONT SIZE = "+1"><PRE><font color=#009900>//: com:bruceeckel:simpletest:Test.java</font>

⌨️ 快捷键说明

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