2013-05-19 34 views
1

我想处理多个文本文件(例如,比较2个文件)并将文件作为参数传递给主函数。我怎么做 ?如何从命令行传递多个文件参数?主函数的多个文件参数

import java.io.File; 
class MultiFileApp { 
    public static void main(String[] args) { 
     // Read file 1 
     // Read file 2 
     //Process File 1 & 2 
    } 
} 

回答

6
java YourApp file1.txt file2.txt 

这些串然后可以在main访问作为args[0] & args[1]

+3

是的,或者让它载入某种形式的设置文件来保存文件名。 1+ –

+0

@Andrew在命令行中有没有参数限制? – Shan

+4

我这么认为。它基本上取决于可以在该操作系统的命令行中输入一行的时间。如果用户需要输入那么多文件名,那将是一团糟。也许使用@HovercraftFullOfEels建议重新。一个名称本身包含列表的文件。或者,查看以更通用的形式指定文件名。例如。 'file .txt'可能被认为是'文件必须以'file'开始并以'.txt'结尾。然后,您可以在与这些条件匹配的代码中创建一个文件过滤器。 –

1

您可以通过文件名(或者说绝对文件路径)以Java作为命令行参数

java MainFile file1.txt file2.txt 

里面你的Java代码,你可以用下面的代码

public class SomeClass() { 
URL url = getClass().getResource(args[0]); 
File myFile = new File(url.getPath()); 
InputStream input = new FileInputStream(myFile); 
// ... 
} 

阅读这些文件或

public class SomeClass() { 
InputStream input = getClass().getResourceAsStream(args[0]); 
// ... 
}