【发布时间】:2020-06-17 23:46:03
【问题描述】:
我正在尝试上传位于 jar 中的文件。当我正常上传文件时,它工作正常(这是预期的,因为文件在文件系统上)但是当我用位于其中的文件打包一个 jar 时它不起作用。 我试过用:
this.getClass().getClassLoader().getResource("big_bird.txt") //不起作用
新文件("big_bird.txt".toURI()) //不起作用
this.getClass().getClassLoader().getResourceAsStream("big_bird.txt") //有点像我看到路径但我无法获取文件
我需要能够抓取文件并将其全部上传到 jar 中,所以任何人都可以告诉我如何做到这一点吗?
【问题讨论】:
-
您需要物理文件吗?如果是,请创建一个临时文件,用您应该能够通过类加载器读取的资源内容填充它并上传临时文件。为什么你不能得到实际的文件?因为它被打包在 JAR 中,并且在您运行 JAR 时不会以物理文件的形式出现。
-
“无法获取文件”是什么意思?您究竟是如何尝试“上传”它的?
-
是的,我需要物理文件。当我说“无法获取文件”时,我的意思是我无法操纵要上传的文件。我上传的方式是使用 selenium
locator.sendKeys(/pathToFile/"big_bird.txt")
标签: java executable-jar