gpt4 book ai didi

java - 读取 JAR 文件外部的属性文件 - java 8 无法识别文件

转载 作者:行者123 更新时间:2023-11-30 03:05:21 27 4
gpt4 key购买 nike

复制与以下示例程序相同的场景。

我正在尝试读取位于我的类文件夹之外的文件Test.txt。我正在使用 getResourceAsStream 方法来定位该文件,但它无法识别。只要我的文件位于它识别的类文件夹内。

InputStream propFileInpStream = LocateFile.class.getResourceAsStream("../../../"+PROP_FILE);

无法识别是否在类文件夹之外

enter image description here

识别类文件夹结构中的任何位置

enter image description here

最佳答案

这是正常现象,完全符合预期。

Class.getResourceAsStream(name)尝试查找具有给定名称的资源,而不是任意文件。资源是存在于应用程序的类路径中的文件。如果该文件不在类路径中,则无法使用该方法从中检索 InputStream

您可以使用 Java NIO.2 APIFiles.newInputStream(path)的帮助下:

Opens a file, returning an input stream to read from the file.

此方法将打开一个文件(而不是资源)进行读取。您可以使用静态工厂 Paths.get(first, more...) 获取 Path 实例。您可以给出文件的绝对路径或相对于 jar 文件位置的路径。

示例代码:

try (InputStream propFileInpStream = Files.newInputStream(Paths.get(path))) {
// do something with the input stream
}

关于java - 读取 JAR 文件外部的属性文件 - java 8 无法识别文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34943511/

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