Java 文件路劲获取(流的方式),适用与jar包或war包运行方式

读取文件使用流的方式在基本的场合都不会发生错误!

以下是读取文件的几种方式:

    public static void main(String[] args) {
        //获取classpath路径,就是根目录  /D:/Program/idea/DayIndicators/target/classes/
        System.out.println(IndexAction.class.getResource("/").getPath());
        //得到的是IndexAction 类所在的包路径
        System.out.println(IndexAction.class.getResource("").getPath());
        //会报错,已经在根目录
        System.out.println(IndexAction.class.getClassLoader().getResource("/").getPath());
        //获取classpath路径,就是根目录  /D:/Program/idea/DayIndicators/target/classes/
        System.out.println(IndexAction.class.getClassLoader().getResource("").getPath());


        //一般来说已url方式获取文件在不同过的场合会有不同的路径,很容易报错
        //推荐使用流的方式来获取文件

        //“”  中填写根目录下的文件名 ,返回的是流的形式   InputStream
        IndexAction.class.getClassLoader().getResourceAsStream("");
        // 获取根目录下的text.txt 文件的流  (推荐)
        IndexAction.class.getResourceAsStream("/text.txt");
    }

若已url形式来获取文件,在打成jar包后路径会发生错误!

你可能感兴趣的:(后端,java,javaweb)