我想MyRunnableJar.jar
从命令行运行。它将需要从 读取file_[1-4].dat
,进行一些处理,然后写入file_5.dat
. 所有上述数据文件都MyRunnableJar.jar
在文件系统中。例如:
super_directory/
MyRunnableJar.jar
data_resources/
file_1.dat
file_2.dat
file_3.dat
nested_data_directory/
file_4.dat
file_5.dat
(MyRunnableJar.jar
由 Eclipse 的Export
功能创建。)
我想以这种方式做事的原因是因为该应用程序的计算成本太高,无法在我的小笔记本电脑上运行。相反,我想将它放在远程服务器上(以及它必须访问的所有大数据文件)并在那里运行它。
问题是,我不知道如何在这些数据文件所在的位置显示可运行的 JAR。如果需要,当然可以移动数据文件。但是,将它们保留在 JAR 中不是一种选择,因为如果我想更改哪怕是一点应用程序代码,我就必须重新传输整个 JAR,如果它包含数据文件,这将是相当大的。file_5.dat
此外,如果它实际上在我的 JAR 中,我将无法写入。
我知道在 Stack Exchange 上有很多与此类似的问题,但在每种情况下,问题在某些重要方面都略有不同。
编辑:
- 请参阅已接受的答案。
- 另请注意,Andre 的解决方案(在评论中解释)也有效,因为在我的情况下,JAR 和数据文件将始终位于文件系统中相对于彼此的相同位置。