Windows下Java File对象创建文件夹时的一个"坑"

import java.io.File;
import java.io.IOException;

public class DirCreate {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        String dirStr="D:";
        File dir=new File(dirStr);
        System.out.println("=================1=================");
        System.out.println(dir.getAbsolutePath());
        System.out.println(dir.getCanonicalPath());
        
        dir=new File(dirStr+File.separator);
        System.out.println("=================2=================");
        System.out.println(dir.getAbsolutePath());
        System.out.println(dir.getCanonicalPath());
        
        dir=new File(dirStr,"placeholder").getParentFile();
        System.out.println("=================3=================");
        System.out.println(dir.getAbsolutePath());
        System.out.println(dir.getCanonicalPath());
    }
}

output:

=================1=================
D:\testWorkspace//打印的是eclipse的workspace
D:\testWorkspace
=================2=================
D:\
D:\
=================3=================
D:\
D:\

解析:

 String java.io.File.getAbsolutePath()


Returns the absolute pathname string of this abstract pathname. 

If this abstract pathname is already absolute, then the pathname string is simply returned as if by the getPath method. If this abstract pathname is the empty abstract pathname then the pathname string of the current user directory, 
which is named by the system property user.dir, is returned.
Otherwise this pathname is resolved in a system-dependent way. On UNIX systems, a relative pathname is made absolute by resolving it against the current user directory. On Microsoft Windows systems, a relative pathname is made absolute by resolving it against the current directory of the drive named by the pathname, if any; if not, it is resolved against the current user directory. Returns: The absolute pathname string denoting the same file or directory as this abstract pathname Throws: SecurityException - If a required system property value cannot be accessed. See Also: java.io.File.isAbsolute()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值