.thirdwidth
此方法会导致错误,例如" / ... / ... / ... jar!/example.txt(没有这样的文件或目录)"
InputStream inputStream = new FileInputStream(new File(this.getClass().getResource("/example.txt").getFile()))
此方法将正确运行。
那么,这两种方法的区别是什么?为什么第一种方法不起作用?
答案 0 :(得分:0)
getResources将返回您的应用程序资源。这些本质上是您的应用程序在编译时存在的资源,并且捆绑到您的应用程序中。这些资源是只读的。为了修改它们,你必须将它们复制到其他地方(最好是你的应用程序私有文件目录)。
getResourceAsStream将为您提供任何给定资源的输入流。这是您的应用程序捆绑资源(如上所述)或可以动态创建。请记住,为了使用getResourceAsStream,您必须能够访问给定的资源。