一、new File("1.txt");
这种方式最不靠谱,如果写绝对路径还好,相对路径就是tomcat的bin目录下开始。
二、String path = getServletContext().getRealPath("/WEB-INF/1.txt")
实际地址是项目的根目录地址下。
三、FileTest.class.getResource("/1.txt").getFile();
或者可以通过classLoader找到class。实际地址起始是在项目地址/WEB-INF/class/下
注意:如果路径带空格,要先转换地址,不然找不到文件
try {
path = URLDecoder.decode(path, "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}