首先这段代码在Unix/Linux系统上会去找根路径,但在Windows系统上会去找C:盘还是D:盘还是其它盘呢?

其实它会去找user.dir所在盘符的根目录,user.dir即用户的当前工作目录,也就是你跑Java程序所在的目录,那么你跑Java程序所在路径的根盘符就是"/"指代的位置.

另外,由于\\ 和/ 在windows系统中的等效性,new File("\\")也会找到同一个盘符.

验证程序如下:

import java.io.File;
import java.util.Properties;

public class FileTest {
    public static void main(String[] args) {
        File filesFolder = new File("/");
        System.out.println("filesFolder's absolute path=:'" + filesFolder.getAbsolutePath()+"'.");

        String userDir=System.getProperty("user.dir");
        System.out.println("userDir='" + userDir+"'.");

        File filesFolder2 = new File("\\");
        System.out.println("filesFolder2's absolute path=:'" + filesFolder2.getAbsolutePath()+"'.");

        //Properties props = System.getProperties();
        //props.list(System.out);
    }
}

输出:

filesFolder's absolute path=:'C:\'.
userDir='C:\pleiades\userdir'.
filesFolder2's absolute path=:'C:\'.

大家可以把这段程序分别放到C:,D:,E:盘跑一下,看看和我所说的是否一致.

这种写法有一个明显的好处是如果Windows系统程序运行所在盘下有和Unix/Linux下同样的路径,比如程序在D:盘下跑,数据文件在d:/usr/data/abc下,Unix下也有/usr/data/abc路径,那么路径部分不需修改就可直接使用了.

--END-- 2019-11-29 15:33

最新文章

  1. client offset screen 的区别
  2. 161229、SpringMVC的各种参数绑定方式
  3. es6还欠完善的地方
  4. 学习使用 jQuery & CSS3 制作照片堆栈效果
  5. js总结-面向对象编程,DOM,BOM
  6. c#Winform控件总结
  7. CentOS下的网络配置文件说明
  8. POSIX 线程详解 一种支持内存共享的简捷工具
  9. php实现手机拍照上传头像功能
  10. javascript 16/1/14随记
  11. 数据结构之单链表,c#实现
  12. mysql通过字段注释查找字段名称
  13. SharpDevelop插件开发手册
  14. android — JNI注册方法说明
  15. Windows安装TensorFlow
  16. QTP自动化测试流程
  17. css 椭圆样式
  18. 2019全国大学生信息安全竞赛部分Web writeup
  19. CSAPC2008 skyline
  20. selenium case报错重新执行

热门文章

  1. elk使用不足及弥补报警措施
  2. Chrome快捷键统计
  3. Scyther tool 入门
  4. [转] 雷电三和typec傻傻分不清
  5. (java)Jsoup爬虫学习--获取网页所有的图片,链接和其他信息,并检查url和文本信息
  6. linux下新磁盘创建lvm、扩容lvm
  7. Java获取视频的大小、时长
  8. spring boot 集成 redis lettuce(jedis)
  9. house买房原理,2019,第一版
  10. Kubernetes 学习14 kubernetes statefulset