3

反正有没有用别名传递java类路径中的文件?

例如:

java -cp ./file_type1.txt#file.txt com.example.JavaProgram

这样,程序会将 file_type1.txt 称为类路径中的 file.txt。因此,我可以以编程方式传递具有相同引用的多个类似文件,并且无需更改 java 程序中的任何内容。

4

2 回答 2

2

JAVA 中没有这样的方法(我认为其他任何语言都没有……)。

顺便说一句,在 JAVA 中,一旦将文件添加到类路径中,您就可以仅使用其名称(无路径)检索其内容ClassLoader.getSystemClassLoader().getResourcesAsStream("file_type1.txt")。不管它在哪里。

然后你有2个选择:

  • 解析System.getProperty("java.class.path")应用程序的类路径( + File.pathSeparator 以拆分条目)以检测命令行上指定的文件名(可能是路径中唯一的 txt 文件)
  • 将文件的名称(仅名称)作为应用程序的参数传递: java -cp ./file_type1.txt com.example.JavaProgram file_type1.txt

然后,您需要对其进行解析并识别.txt您附加的文件名的名称

由于无法创建别名,因此您必须以某种方式在应用程序中引入一些动态行为。

嗨。

于 2012-11-09T13:57:50.347 回答
0

我建议您ln -s改为在 Java 之外的 UNIX 平台上创建符号链接 ( )。

于 2012-11-09T08:19:45.283 回答