目录结构为:
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奇怪为什么这个路径不在项目下,如果我想让他在项目下该如何处理!

解决方案 »

  1.   

    你在Eclipse里面调试这个代码,当前目录自然就在Eclipse下。记得没有方法直接定位到项目下(因为这个本身就不靠谱,开发环境、生产环境就不一致)。推荐的做法是以ClassPath为查找依据,如果你的txt打入JAR包的话,直接Class.getResouceAsStream()就有了(可能拼写不正确=_=)
      

  2.   

    这样试试ResourceLoadUtil.loadCodeInfo(this.getClass().getResource("/").getPath()+ "codes.xml"));
      

  3.   

    File directory = new File(".").getAbsoluteFile().getParent()试试,
    好像是这个。
      

  4.   

    request.getSession().getServletContext()可以取到其上下文的路径
      

  5.   


    我的目的是,希望项目中servlet读取一个记事本,根据记事本单行的内容显示出按钮的值,根据记事本双行的内容进行跳转,这样,我每天更新记事本,就可以做到更新显示内容的链接情况了,听你的意思这种方案不行,那为了保证环境的一致性,是不是我做好把刚刚的内容写到jsp页面最好了?