2012-11-28 39 views
0

有没有办法写入输出流,将由System.in输入流读取?例如:写输出将由System.in读取,java

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.in)); 

除了不起作用,因为System.in是一个输入流和OutputStreamWriter需要的OutputStream。

我想输出的东西,将通过读取:

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 

我所试图做的是写一个控制台应用程序单元测试。我想以编程方式测试我的输入。任何方式来做到这一点将回答我的问题。

回答

2

我的建议是你用method(String/int var)创建方法并且有一个单独的分析器。然后,您可以测试所有方法,而无需输入。这是单元测试的标准。

1

你可以写和读标准输入/输出,但我会重构代码以分离出如何你用它做什么让您的输入。

这样你就可以直接从单元测试中调用“执行”代码。

它还允许其他输入源轻松插入代码中,例如文件内容,网页内容等。