2010-03-08 43 views
0

我有一个非常简单的问题,我甚至在这里搜索,但它比我发现的例子更简单的情况。 我有一个java程序,它有一个简单的System.in的主要功能....我只是想制作一个bat文件,它将运行java程序,然后自动输入输入流。批处理文件到java测试

我basicly想这是通过批处理文件做,所以我可以做一个测试平台:

java Proj 
module array1{}

而且我想,他们是我的测试中运行多个模块。提前

回答

0

我不知道是否有可能做到这一点与System.in,但

感谢你在备选方案中考虑的只是那些通过命令行参数,以你的主要方法是什么?

0

好吧,我不确定你究竟在问什么。是否有任何理由不能简单地通过命令行传递你需要的参数?

例如,假设您的MyJavaClass类别采用main方法。你这样称呼它:

java MyJavaClass module1 module2 ... modulen

...然后假设你main方法是这样的:

public static void main (String[] args) {

...你args阵列看起来像{"module1", "module2", ... "modulen"},你然后可以按照您认为合适的方式进行处理并用于打开输入流。

还是我完全错过了这一点?

如果你想创建测试代码,你有没有看过JUnit呢?没有必要重新发明轮子。

2

如果我理解正确,你想要的是运行java Proj,然后写module array1{}或其他一些输入到标准输入。

如果这是正确的,你可以把你输入的文本文件,说input.in而只需键入以下的批处理文件:

java Proj < input.in 

我没有窗户这里环境检查它,但我很确定它会起作用。

+0

这正是我想要的...在过去的2个小时。 Thx很多 –

+0

不客气。顺便说一句,如果你不想有一个额外的文件,通过使用这样的东西,你可以使它更简单: 'echo“module array1 {}”> java Proj' 这在Unix中肯定有效。但是,我不确定echo命令在Windows中是否可用,但肯定会有一些等价命令可以帮助您节省额外的文件。 –

0

调查junit。它专为运行测试套件而设计。