java中separator_JAVA中file.separator ,path.separator,line.separator

在sun官方中文文档中,System.getProperty(””)方法中有着这样的翻译:

file.separator

文件分隔符(在 UNIX 系统中是“/”)

path.separator

路径分隔符(在 UNIX 系统中是“:”)

line.separator

行分隔符(在 UNIX 系统中是“/n”)

其实,按照中国人的习惯,以上翻译有些别扭,我觉得应该这样翻译才能更好的被人理解:

file.separator

文件目录(或者文件路径)分隔符(在 UNIX 系统中是“/”,windows中是“\”)

path.separator

环境变量路径分隔符(在 UNIX 系统中是“:”,windows中是“;”)

line.separator

文字换行分隔符(在 UNIX 系统中是“/n”)

至于为什么要说sun官方翻译的有些别扭呢?我给大家举一些例子大家讨论下:

比如我们想要JAVA表示一个下面的文件路径:

windows环境下:

G:\book\api-1.6-cn

linux(unix)环境下:

/home/book/api-1.6-cn

为了跨平台性我们会写出如下的代码:

File[] roots = File.listRoots();// 获取磁盘分区列表

String osname = System.getProperty(“os.name”).toLowerCase();// 返回操作系统名称

// 按sun官方翻译应使用下面的这句,其实得出结果是错的!

// String tempPath=”book”+System.getProperty(“path.separator”)+”api-1.6-cn”;

// 按照我说提出来的翻译,应使用下面的这句,结果正确!

String tempPath = “book” + System.getProperty(“file.separator”)

+ “api-1.6-cn”;

if (osname.indexOf(“windows”) != -1) {// windows下路径表示方法:

for (File file : roots) {

if (file.getPath().indexOf(“G:”) != -1) {

String path = file.getPath() + tempPath;

System.out.println(path);

}

}

} else if (osname.indexOf(“linux”) != -1) {// linux下路径表示方法:

for (File file : roots) {

if (file.getPath().indexOf(“/home”) != -1) {

String path = file.getPath() + tempPath;

System.out.println(path);

}

}

}

[来源:http://hi.baidu.com/ak461230/item/46d3fecca6c1d9d2964452a5]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值