一个奇怪的路径问题,求高手!
目录结构为:
E:\eclipse eclipse的安装目录
E:\work\TCD\src\com\wsy\myservlet eclipse的TCD项目的servlet目录
E:\work\TCD\src\com\wsy\myservlet\everydayAskjsp 一个java方法,读取txt文件内容,关键代码如下:
package com.wsy.myservlet.everydayAskjsp;
File directory = new File(".");
System.out.println(directory.getCanonicalPath());
BufferedReader br=new BufferedReader(new FileReader("最新公告.txt"));
运行结过为:E:\eclipse
奇怪为什么这个路径不在项目下,如果我想让他在项目下该如何处理!
------解决方案--------------------
你在Eclipse里面调试这个代码,当前目录自然就在Eclipse下。
记得没有方法直接定位到项目下(因为这个本身就不靠谱,开发环境、生产环境就不一致)。
推荐的做法是以ClassPath为查找依据,如果你的txt打入JAR包的话,直接Class.getResouceAsStream()就有了(可能拼写不正确=_=)
------解决方案--------------------这样试试
ResourceLoadUtil.loadCodeInfo(this.getClass().getResource("/").getPath()+ "codes.xml"));
------解决方案--------------------File directory = new File(".").getAbsoluteFile().getParent()试试,
好像是这个。
------解决方案--------------------
------解决方案--------------------request.getSession().getServletContext()可以取到其上下文的路径