[Java.File]如果写 File filesFolder = new File("/") ,在windows系统中,filesFolder 会去找哪个盘符? 答案:程序运行路径的根盘符.
2024-08-21 11:24:52
首先这段代码在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
最新文章
- client offset screen 的区别
- 161229、SpringMVC的各种参数绑定方式
- es6还欠完善的地方
- 学习使用 jQuery &; CSS3 制作照片堆栈效果
- js总结-面向对象编程,DOM,BOM
- c#Winform控件总结
- CentOS下的网络配置文件说明
- POSIX 线程详解 一种支持内存共享的简捷工具
- php实现手机拍照上传头像功能
- javascript 16/1/14随记
- 数据结构之单链表,c#实现
- mysql通过字段注释查找字段名称
- SharpDevelop插件开发手册
- android — JNI注册方法说明
- Windows安装TensorFlow
- QTP自动化测试流程
- css 椭圆样式
- 2019全国大学生信息安全竞赛部分Web writeup
- CSAPC2008 skyline
- selenium case报错重新执行