streamrecorder.java

来自「基于Junit的 功能和单元测试的的测试工具。只支持Swing.」· Java 代码 · 共 56 行

JAVA
56
字号
package org.uispec4j.extension;

import org.uispec4j.utils.Utils;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

class StreamRecorder extends Thread {

  private InputStream inputStream;
  private StringBuffer buffer = new StringBuffer();

  public static StreamRecorder run(InputStream stream) {
    StreamRecorder recorder = new StreamRecorder(stream);
    recorder.start();
    return recorder;
  }

  private StreamRecorder(InputStream inputStream) {
    this.inputStream = inputStream;
  }

  public void run() {
    BufferedReader reader = null;
    try {
      reader = new BufferedReader(new InputStreamReader(inputStream));
      String line = null;
      while ((line = reader.readLine()) != null) {
        if (buffer.length() > 0) {
          buffer.append(Utils.LINE_SEPARATOR);
        }
        buffer.append(line);
      }
    }
    catch (IOException ioe) {
      ioe.printStackTrace();
    }
    finally {
      if (reader != null) {
        try {
          reader.close();
        }
        catch (IOException e) {
        }
      }
    }
  }

  public String getResult() throws InterruptedException {
    join();
    return buffer.toString();
  }
}

⌨️ 快捷键说明

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