我有一个Java文件Animal.java,我希望能够像这样写一个终端命令:
java Animal -a -print< data.txt中
我知道-a
和-print
在数组arg
中显示为变量(这是main
方法的输入 - 所以arg[0]
是-a
而arg[1]
是-print
),但如何从data.txt
访问数据?
答案 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