【问题标题】:How Can I Return the Executable's .java file path?如何返回可执行文件的 .java 文件路径?
【发布时间】:2015-03-16 03:31:20
【问题描述】:

我想读取与我的源代码文件位于同一文件夹的名为images 的文件夹中的一些图像。我用来读取每张图片的路径是..\images\imageX.jpg。但它不承认它。我正在使用 Netbeans。

【问题讨论】:

  • 图像是在src 上下文中还是与src 上下文处于同一级别?
  • 感谢@k_g :) 在 src 文件中我有 file.java 和 images 文件夹,其中包含所有图像。
  • 错误是:javax.imageio.IIOException: Can't read input file!

标签: java netbeans path


【解决方案1】:

这将为您提供 Web 应用程序中 src/ 目录的路径:

String path = YourClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();

然后您可以添加导航到images 目录所需的任何内容。因此,假设images 目录位于src 目录内的一个文件夹中,以下应该可以解决问题:

File imageFile = new File(path + "images/imageX.jpg");

请记住,getPath() 将在末尾返回 带有斜杠,因此在进一步解析文件路径时不需要包含一个。

【讨论】:

  • 在我的代码中我这样做:File currentJavaFile1 = new File(".");字符串 currentCanonicalPath = currentJavaFile1.getCanonicalPath(); currentCanonicalPath=currentCanonicalPath+"\\src\\"+packageName+"\\images\\";
  • 这是评论还是问题?在任何情况下,您都不能在发表评论时使用 标签。您必须使用 ` 代替,例如Here is some code.
  • 哦,好吧,对不起,我是新手,我不知道。谢谢 :) 所以这是一个代码。我用它来创建路径并读取图像。但我想使用更“动态”的东西,可以直接给我 .java;s 文件路径...有什么选择吗?
  • 我能详细解释一下吗? -> '字符串路径 = YourClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();'
  • 我在答案中定义的 path 变量应该为您提供指向 Java 代码所在的顶级 src 目录的路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-24
  • 1970-01-01
  • 1970-01-01
  • 2011-07-10
  • 2020-12-11
  • 1970-01-01
  • 2012-08-18
相关资源
最近更新 更多