A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 唐志海 中级黑马   /  2014-1-15 13:23  /  1449 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

getAbsoluteFile与getAbsolutePath有什么区别吗??

评分

参与人数 1黑马币 +3 收起 理由
黄晓鑫 + 3

查看全部评分

3 个回复

倒序浏览
File类
getAbsolutePath方法可以获得绝对路径,返回此抽象路径名的绝对路径名字符串。 (String)
getAbsoluteFile方法返回此抽象路径名的绝对路径名形式。 (file)

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1 赞一个!

查看全部评分

回复 使用道具 举报
getAbsolutePath 这个方法返回值是String 是获取当前文件所的绝对路径
getAbsoluteFile 这个方法返回值是File  是获取文件的绝对路径表达方式,也就是先获取绝对路径  再使用文件的绝对路径重新创建了一个对象。下面是其源码:
  1. /**
  2.      * Returns the absolute form of this abstract pathname.  Equivalent to
  3.      * <code>new&nbsp;File(this.{@link #getAbsolutePath})</code>.
  4.      *
  5.      * @return  The absolute abstract pathname denoting the same file or
  6.      *          directory as this abstract pathname
  7.      *
  8.      * @throws  SecurityException
  9.      *          If a required system property value cannot be accessed.
  10.      *
  11.      * @since 1.2
  12.      */
  13.     public File getAbsoluteFile() {
  14.         String absPath = getAbsolutePath();
  15.         return new File(absPath, fs.prefixLength(absPath));
  16.     }
复制代码



下面是一段简单的演示代码:
  1. public class Test{
  2.         public static void main(String[] args) throws Exception {
  3.                 File file = new File("test.text");
  4.                 System.out.println(file.getPath());
  5.                 System.out.println(file.getAbsoluteFile().getPath());
  6.                 System.out.println(file.getAbsolutePath());
  7.         }
  8. }
复制代码


其实从两个方法的描述及源码中都可以看出这两个方法的区别。如果有不明白的地方可以再问我。

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1 很给力!

查看全部评分

回复 使用道具 举报
根据api中的描述:
getAbsoluteFile() 返回此抽象路径名的绝对路径名形式,返回的是File类型对象
getAbsolutePath() 返回此抽象路径名的绝对路径名字符串,返回的是一个String类型的对象
所以如果用代码进行表示的话:
  1. import java.io.File;


  2. public class JiShuFen {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void shuchu(Object obj){
  7.                 System.out.println(obj);
  8.         }
  9.         public static void main(String[] args) {
  10.                 // TODO Auto-generated method stub
  11.                 File file=new File("d:\\file3.txt");
  12.                 File f=file.getAbsoluteFile();
  13.                 String path1=file.getAbsolutePath();
  14.                 String path2=f.toString();
  15.                 shuchu(path1);
  16.                 shuchu(path2);
  17.                
  18.         }

  19. }
复制代码

希望帮到你{:soso_e144:}

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马