gpt4 book ai didi

java - 更改Java程序中反斜杠指向的根目录

转载 作者:行者123 更新时间:2023-12-01 20:57:14 24 4
gpt4 key购买 nike

我在运行 Java 程序时遇到问题。

jar 文件中有一行代码,用于从 "/apps/somefile" 位置打开 FileInputStream 到某个文件,

但是我无权访问根目录。

问题是我无法更改代码,因为它是在 jar 文件中提供的,因此无论如何都可以更改为运行 java 时 "/" 指向的根目录程序?

这是供引用的行:

 FileInputStream fileInputStream = new FileInputStream("/apps/somefile");

最佳答案

您提供的代码行不会直接执行任何操作。它是 Java 源代码,Java 通常被编译为字节码并以该形式呈现给 JVM。听起来你的 jar 可能包含源文件以及编译的类文件,有时会这样做。如果是这种情况,那么您只需从 jar 中解压 Java 源代码,修改它们,重新编译,然后从结果中创建一个新的 jar。

如果您没有源代码,那么您可以尝试反编译,正如另一个答案所建议的那样。这有点令人讨厌,但它可能会起作用。

或者,您实际要问的是

is there anyway to change to root directory that "/" points to when running the java program?

事实上,可能存在,具体取决于代码运行的系统。您可以想象在 chroot 下运行您的程序,这正是这种效果。然而,这显然是一个不简单的练习,如果您无权访问根目录(尽管我不确定在这种情况下您如何执行任何操作),那么您很可能会这样做也没有足够的访问权限来设置或使用 chroot 环境。

关于java - 更改Java程序中反斜杠指向的根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42151171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com