在java项目中如何获取某个文件的路径

 我来答
一数一道
推荐于2016-03-09 · TA获得超过1751个赞
知道小有建树答主
回答量:369
采纳率:75%
帮助的人:213万
展开全部

  File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如file.getAbsolutePath()其中file是File的实例对象。下面是一个具体例子:

public class PathTest
{
    public static void main(String[] args)
    {
        File file = new File(".\\src\\baidu");
        System.out.println(file.getAbsolutePath());
        try
        {
            System.out.println(file.getCanonicalPath());
        } catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}

  getAbsolutePath()和getCanonicalPath()的不同之处在于,getCanonicalPath()得到的是一个规范的路径,而getAbsolutePath()是用构造File对象的路径+当前工作目录。例如在上面的例子中.(点号)代表当前目录。getCanonicalPath()就会把它解析为当前目录但是getAbsolutePath()会把它解析成为目录名字(目录名字是点号)。

  下面是上面程序在我电脑上的输出:

G:\xhuoj\konw\.\src\baidu
G:\xhuoj\konw\src\baidu

索慕瞳
2009-08-19 · TA获得超过107个赞
知道小有建树答主
回答量:76
采纳率:100%
帮助的人:54.5万
展开全部
public String getAbsolutePath()
返回抽象路径名的绝对路径名字符串。
如果此抽象路径名已经是绝对路径名,则返回该路径名字符串,这与 getPath() 方法一样。如果此抽象路径名是空的抽象路径名,则返回当前用户目录的路径名字符串,该目录由系统属性 user.dir 指定。否则,使用与系统有关的方式分析此路径名。在 UNIX 系统上,通过根据当前用户目录分析某一相对路径名,可使该路径名成为绝对路径名。在 Microsoft Windows 系统上,通过由路径名指定的当前驱动器目录(如果有)来分析某一相对路径名,可使该路径名成为绝对路径名;否则,可以根据当前用户目录来分析它。

返回:
绝对路径名字符串,它与此抽象路径名表示相同的文件或目录的
抛出:
SecurityException - 如果无法访问所需的系统属性值。

public File getAbsoluteFile()
返回抽象路径名的绝对路径名形式。等同于 new File(this.getAbsolutePath()())。

返回:
表示与此抽象路径名相同的文件或目录的绝对抽象路径名
抛出:
SecurityException - 如果无法访问所需的系统属性值。

public File[] listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件。
如果此抽象路径名并不表示一个目录,则此方法将返回 null。否则,为目录中的每个文件或目录返回一个 File 对象数组。表示目录本身及其父目录的路径名不包括在结果中。得到的每个抽象路径名都是根据此抽象路径名,使用 File(File, String) 构造方法构造。所以,如果此路径名是绝对路径名,则得到的每个路径名都是绝对路径名;如果此路径名是相对路径名,则得到的每个路径名都是相对于同一目录的路径名。

不保证所得数组中的相同字符串将以特定顺序出现,特别是不保证它们按字母顺序出现。

返回:
表示此抽象路径名所表示目录中的文件和目录的抽象路径名数组。如果目录为空,则数组也将为空。如果抽象路径名不表示一个目录,或者发生 I/O 错误,则返回 null。
抛出:
SecurityException - 如果存在安全管理器,且其 SecurityManager.checkRead(java.lang.String) 方法拒绝对目录进行读取访问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LG772EF01
2009-08-19
知道答主
回答量:21
采纳率:0%
帮助的人:22万
展开全部
如果是在tomcat等服务器中运行的话,用ServletContext中的getRealPath()方法可以获取指定文件的绝对路径,如:getRealPath("/WEB-INF/db.xml");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
makeawish009
2009-08-19 · TA获得超过2290个赞
知道小有建树答主
回答量:1059
采纳率:66%
帮助的人:671万
展开全部
getRealPath()
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式