gpt4 book ai didi

java - 如何列出Resources文件夹中的所有文件(java/scala)

转载 作者:行者123 更新时间:2023-12-02 11:13:08 25 4
gpt4 key购买 nike

我正在编写一个函数,需要访问资源中的文件夹,并循环遍历所有文件名,如果这些文件符合条件,则加载这些文件。

new File(getClass.getResource("/images/sprites").getPath).listFiles()

返回空指针异常,其中目录树遵循Resources -> images -> sprites ->

请有人指出我正确的方向吗?

最佳答案

Joop Eggen 的答案很棒,但它只能做以下两件事之一:

  • 从 IDE 运行时读取资源内容
  • 通过命令行运行JAR时读取资源内容

这里有一个示例(Kotlin,但应该很容易将其迁移到 Java),它允许您同时拥有两者:从 IDE 或通过命令行运行时读取资源内容!

    val uri = MainApp::class.java.getResource("/locales/").toURI()
val dirPath = try {
Paths.get(uri)
} catch (e: FileSystemNotFoundException) {
// If this is thrown, then it means that we are running the JAR directly (example: not from an IDE)
val env = mutableMapOf<String, String>()
FileSystems.newFileSystem(uri, env).getPath("/locales/")
}

Files.list(dirPath).forEach {
println(it.fileName)
if (it.fileName.toString().endsWith("txt")) {
println("Result:")
println(Files.readString(it))
}
}

关于java - 如何列出Resources文件夹中的所有文件(java/scala),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50469600/

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