使用终端从Java读取文件输入

时间:2013-11-23 02:53:53

标签: java

我有一个Java文件Animal.java,我希望能够像这样写一个终端命令:

  

java Animal -a -print< data.txt中

我知道-a-print在数组arg中显示为变量(这是main方法的输入 - 所以arg[0]-aarg[1]-print),但如何从data.txt访问数据?

3 个答案:

答案 0 :(得分:0)

这在java中是不可能的,但你可以传递文件的位置(如果它已经知道并且已经修复则不需要),然后使用InputStream / readLine()等访问文件的数据。

答案 1 :(得分:0)

您无法以与Unix管道相同的方式操作文件。您需要处理您的参数,以便有一个前缀或位置来定义您想要读取的文件的名称,因此可以读取作为参数传递的文件。

// Treating arguments and verify the possibility of reading file
// Get index which is the file name
FileInputStream fstream = new FileInputStream (argv [FileIndex]);
// Handle the file .

请在此处查看示例:Passing a file as a command line argument and reading its lines

答案 2 :(得分:-1)

想象结构src/mypack/Main.java,在终端上运行:

$ cd src/mypack/
/src/mypack$ javac Main.java 
/src/mypack$ cd ..
/src$ java mypack.Main < path/your/file