给定一个字符串:
String exampleString = "example";
Run Code Online (Sandbox Code Playgroud)
我如何将其转换为InputStream?
将输出从java.io.OutputStream传递到Java中的String的最佳方法是什么?
说我有方法:
writeToStream(Object o, OutputStream out)
Run Code Online (Sandbox Code Playgroud)
它将对象中的某些数据写入给定流.但是,我希望尽可能轻松地将此输出转换为String.
我正在考虑写一个这样的课程(未经测试):
class StringOutputStream extends OutputStream {
StringBuilder mBuf;
public void write(int byte) throws IOException {
mBuf.append((char) byte);
}
public String getString() {
return mBuf.toString();
}
}
Run Code Online (Sandbox Code Playgroud)
但有更好的方法吗?我只想进行测试!
我正在尝试为需要用户输入的方法创建一些JUnit测试.测试中的方法看起来有点像以下方法:
public static int testUserInput() {
Scanner keyboard = new Scanner(System.in);
System.out.println("Give a number between 1 and 10");
int input = keyboard.nextInt();
while (input < 1 || input > 10) {
System.out.println("Wrong number, try again.");
input = keyboard.nextInt();
}
return input;
}
Run Code Online (Sandbox Code Playgroud)
是否有可能在JUnit测试方法中自动将程序传递给int而不是我或其他人手动执行此操作?像模拟用户输入一样?
提前致谢.