java - 读取自定义 Ant 任务的源文件

标签 java io classloader

我想打开我的自定义 Ant 任务的源文件。我认为这很容易,因为类加载器获取资源肯定会立即为我找到源文件。错了!

这是我的代码:

//build the name of the template
StringBuilder sb = new StringBuilder(VersionTemplate.class.getName());
sb.append(".java");
String templateName = sb.toString();
//find the template
InputStream inputStream = VersionTemplate.class.getResourceAsStream(templateName);

inputStream 始终为空。

有什么想法吗?

最佳答案

尝试:

   templateName = templateName.replaceAll(".","/");
   InputStream inputStream = VersionTemplate.class.getClassLoader().
                              getResourceAsStream(templateName);

请确保“.java”文件与编译“.class”文件位于同一包中。

关于java - 读取自定义 Ant 任务的源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12896067/

相关文章:

c++ - 我无法在使用 fstream 读取文件后立即写入文件

c - 如何在C中读取以二进制模式保存的数组到文本文件

java - 悲观离线锁(Java,Spring)

java - Log4j2 SyslogAppender 不工作

java - 如何让计时器任务等待 runOnUiThread 完成

异步读取 SSH 输出

java - 是否可以使用 Tween 引擎注册多个访问器

java - 无法打开以感叹号 (!) 结尾的目录中的资源

java - JProfiler - "Run GC"按钮与堆快照的 "Perform full GC in heap snapshot"选项

java - 在 java web 应用程序中加载 xml 文件