您可以使用以下代码来获取当前 JAR 文件下的资源文件:

import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Collections;
import java.util.List;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;

public class Main {
    public static void main(String[] args) {
        try {
            // 获取当前 JAR 文件的路径
            Path jarPath = Paths.get(Main.class.getProtectionDomain().getCodeSource().getLocation().toURI());

            // 根据 JAR 文件的路径创建一个文件系统
            Path jarFileSystemPath = Paths.get('jar:' + jarPath.toUri());
            FileSystem jarFileSystem = FileSystems.newFileSystem(jarFileSystemPath, Collections.emptyMap());

            // 获取 JAR 文件中的资源路径
            Path resourcePath = jarFileSystem.getPath('resource.txt');

            // 读取资源文件内容
            List<String> lines = Files.readAllLines(resourcePath);
            for (String line : lines) {
                System.out.println(line);
            }

            // 关闭文件系统
            jarFileSystem.close();
        } catch (IOException | URISyntaxException e) {
            e.printStackTrace();
        }
    }
}

在这个例子中,我们首先获取当前 JAR 文件的路径,然后使用该路径创建一个文件系统对象。接下来,我们可以使用文件系统对象来获取 JAR 文件中的资源文件路径,并通过Files.readAllLines()方法来读取资源文件的内容。

请确保将resource.txt替换为您实际的资源文件路径。

Java 获取当前 JAR 文件下的资源文件 - 完整代码示例

原文地址: https://www.cveoy.top/t/topic/p7Ib 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录