我傻傻的忘了包括dir/dataFile.txt
我build.xml
的war
目标,所以实际上没有被包含在文件war
包,因此从来没有放置在Tomcat的容器内。
<include name="dir/**" />
而且我也误解了context.getRealPath("/WEB- INF/dir/dataFile.txt");
实际的回报;从ServletContext javadoc
获取与给定虚拟路径相对应的真实路径。例如,如果path等于/index.html,则此方法将返回服务器文件系统上的绝对文件路径,该文件的格式为http://://index.html的请求将映射到该文件,该位置对应于此ServletContext的上下文路径。
因此,即使getRealPath
返回路径值,也不一定意味着文件位于该实际路径。