java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java读取resources目录和同级目录文件

java如何读取resources目录和同级目录文件

作者:jzx-sdjz

介绍了Java中读取resources目录和同级目录文件的方法,并讨论了在IDE和发布环境中可能遇到的问题,通过测试发现,执行目录可能会影响文件读取,建议在使用`user.dir`时注意jar包的运行目录问题

java读取resources目录和同级目录文件

1.读取resource目录下的文件

/**
     * 读取resource中的文件
     */
    private static void readCurrent() {
        try {
            InputStream in = FilePath.class.getResourceAsStream("/a.properties");
            Properties properties = new Properties();
            properties.load(in);

            System.out.println(properties.getProperty("name"));
            System.out.println(properties.getProperty("password"));

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

2.读取jar包同级目录下的文件

public static void readFile() {
        try {
            String path = System.getProperty("user.dir") + "/a.properties";
            File file = new File(path);
            if (file.isFile()) {
                System.out.println("找到文件");
            } else {
                System.out.println("未找到相应文件");
            }
        } catch (Exception e) {

        }
    }

在IDE中运行的没有问题,但是发布之后发现了问题,user.dir和java -jar命令执行程序所在目录有关系

然后写个测试样例测试一下,发现和执行目录有关系,如果想使用user.dir这个方法,就要注意jar运行的目录问题。

public static void main(String[] args) {
        String useDir = System.getProperty("user.dir");
        System.out.println(useDir);

    }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文