gpt4 book ai didi

java - 发现符号的路径

转载 作者:行者123 更新时间:2023-12-01 12:38:40 25 4
gpt4 key购买 nike

我的问题是,Java 是否没有类似 Python 中的 sys.path 之类的东西,或者更具体的方法来查找符号的来源。我已经从一些外部来源看到了“加载此工具”的答案,但似乎该语言可以具有此功能。

插入这一点的是我桌面上的一个标准 Hello.java 示例,它打印“Hello, world!”编译并运行后,当代码本身是“Hello world!”时(没有逗号)。比如高中英语什么的。删除我认为正在运行的 Hello.class 文件没有任何改变。同上还有 Hello.java 。更奇怪的是,当它存在时,编译器首先在其搜索路径中找到桌面上的源文件 Hello.javaHello.class 当我运行 javac Hello.java 时更新。那么如何找到我的神秘文件呢?放松并使用 grep

更新:

所以,我应该猜到麻烦的文件将在 /Library/Java/Extensions 中(这是 OS X),或者我的用户特定目录(前缀 ~)。找到候选人后,我用

对其进行了检查
> jar tf /Library/Java/Extensions/obscureName.jar > x.txt
> grep "Hello" x.txt
Hello.class

不知道这一点,正确的方法是搜索不同系统属性,即java.ext.dirs或可能java.library.path。代码的关键部分是:

Properties ps = System.getProperties();
String sep = ps.getProperty("path.separator");
String fileName;
String[] pL = { "java.class.path",
"java.ext.dirs",
"java.library.path" };
String[] array;
for (String property:pL) {
System.out.println(property);
array = ps.getProperty(property).split(sep);
for (String path:array) {
System.out.println(path);
File[] files = new File(path).listFiles();
if (files != null) {
for (File f:files) {
fileName = f.getName();

最佳答案

在 Java 中可以查找此类信息。具体来说,您将获得类路径。使用:

System.getProperty("java.class.path")

关于java - 发现符号的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25334618/

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