你可以这样试试:
File f = new File("./a.txt")。
或者
String absolutePath = System.getProperty("user.dir");//得到当前路径
File f = new File(absolutePath+"/a.txt")。

解决方案 »

  1.   

    getServletContext().getAbsolutePath(""); (??大概没拼写错吧,呵呵自己查一下servlet doc吧)
      

  2.   

    getServletContent().getRealPath(".");//得到当前在服务器端的绝对路径
    再根据该路径与a.txt的路径关系进行设置
      

  3.   

    File f = new File("myapp/a.txt"),加上项目的名字,就OK了。
      

  4.   

    netAntNT:
    你的方法是a.txt必须放在bin目录中,
     samplerain:
    我的这个类没有继承HttpServlet,应该不能用getServletContext()方法吧?
     navy7148:
    我不知道根目录是指哪个目录,我几乎把每个目录都放了a.txt文件,还是找不到。
     qiyadeng:
    这样写仍然找不到文件。应该放那个目录中?现在我的想法是,“/a.txt”中的“/”代表当前应用程序的根目录,但我不知道哪个是当前应用的根目录,或者说这样写是不对的?
      

  5.   

    Thread.currentThread().getContextClassLoader().getResource(fileName)fileName like package path: com/xxx/xxx/aa.txt Is that OK?
      

  6.   

    samplerain:
    你行,呵呵。这个方法我还没试过呢。其实我是想知道“/a.txt”中的"/"代表是哪个目录。就是在我的例子中所谓的根目录是哪个
      

  7.   

    你别笑,后面我给出的是正解,无论你是web context还是application context,这个是根据classloader找路径,绝对能找到!
      

  8.   

    我说tonyk同学,给你出了这么多点子,怎么就跑了呢?
    再次重申:结贴是一种美德~
      

  9.   

    你能不能告诉我“/a.txt”中的“/”代表了哪个目录?