更改Java中的当前工作目录?

更改Java中的当前工作目录?

如何从Java程序中更改当前工作目录?我在这个问题上所能找到的一切都表明你根本做不到,但我不敢相信真的是这样。

我有一段代码,它使用一个硬编码的相对文件路径打开一个文件,该文件路径通常是在一个目录中启动的,我只是希望能够在不同的Java程序中使用该代码,而不必在特定的目录中启动它。似乎你应该能打电话给System.setProperty( "user.dir", "/path/to/dir" ),但据我所知,打那条线只是默默地失败了,什么也没做。

如果Java不允许你这样做,如果不是因为它允许你这样做的话,我会理解的。到达当前的工作目录,甚至允许您使用相对文件路径打开文件.


紫衣仙女
浏览 1890回答 3
3回答

慕的地6264312

在纯Java中没有可靠的方法可以做到这一点。设置user.dir财产通过System.setProperty()或java -Duser.dir=...似乎会影响到后来的创作Files,但不是。FileOutputStreams.这个File(String parent, String child)如果将目录路径与文件路径分开构建,则构造函数可以提供帮助,从而允许更容易地进行交换。另一种方法是设置脚本,从不同的目录运行Java,或者使用JNI本机代码如下所示.相关的太阳虫因为“无法修复”

慕婉清6462132

如果您使用ProcessBuilder,您将能够指定它的工作。目录.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java