java - 获取包含 main 的 .class 文件的目录路径

标签 java file path

是否可以从 main 中获取包含我的 main 函数的 .class 文件的路径?

最佳答案

URL main = Main.class.getResource("Main.class");
if (!"file".equalsIgnoreCase(main.getProtocol()))
  throw new IllegalStateException("Main class is not stored in a file.");
File path = new File(main.getPath());

请注意,大多数类文件都被组装到 JAR 文件中,因此这在所有情况下都不起作用(因此 IllegalStateException)。但是,您可以使用此技术找到包含类的 JAR,并且可以通过调用 getResourceAsStream() 代替 getResource()< 来获取类文件的内容,无论该类是在文件系统上还是在 JAR 中,它都可以工作。

关于java - 获取包含 main 的 .class 文件的目录路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/778187/

相关文章:

Java.net.SocketException : Invalid argument: create In mapped drive

java - Postgres+JDBC 模板太多客户端已经异常

java - 计算数组列中值的平均值?

java.io.File(parent, child) 没有按预期工作

windows - 如何在 Windows 7 的路径中添加 protoc.exe

java - 如何在多个线程中收集方法的返回值

android - 无法在 SD 卡中创建文件

algorithm - 穿过唯一 x 点的最短路径

c# - WPF : How do I make a editable path

c# - int rosu=Color.red.getRGB() 从 Java 到 C#