zoukankan      html  css  js  c++  java
  • java知识点---文件分隔符

    本篇讲述java编程中,怎样解决跨平台时,因不同系统中分隔符不同导致的文件或路径找不到的问题

    首先来看两个例子:

    一、linux系统和windows系统中的文件路径:

    Linux系统:

    Windows系统:

    可以看到Linux系统中,路径中的文件名分隔符是"/",而Windows中是""

    二、linux系统和windows系统中的path路径:

    Linux系统:

    .:%JAVA_HOME%lib:%JAVA_HOME%lib	ools.jar:%JAVA_HOME%jrelib
    t.jar:

    Windows系统:

    .;%JAVA_HOME%lib;%JAVA_HOME%lib	ools.jar;%JAVA_HOME%jrelib
    t.jar;

    同样,可以看到Linux系统中,path间的分隔符是":"(冒号),而Windows中是";"(分号)

    因为分隔符的不同,我们在编程时就不能硬性制定文件路径或path之间的分隔符,因为这会导致跨平台时出现找不到文件或路径的错误,

    在java中是这样解决的,jdk中有对应的方法,可以根据当前系统类型动态地获取文件或path的分隔符,下面是使用方法及源码中的相关描述:

    一、获取文件路径中的文件名分隔符:

    File.separator;

     下面开始追踪源码:

    第一步:

    系统相关的默认名称分隔符。为了方便它被表示为一个字符串,该字符串只包含一个字符,即separatorChar

    第二步:

    系统相关的默认名称分隔符,这个字段被初始化为包含系统属性file.separator值的第一个字符,在UNIX系统中是”/”,在Windows系统中是””

    第三步:

    FileSystem对象表示当前平台的本地文件系统

    第四步:

    返回本地文件系统的名称分隔符

    二、获取path中的分隔符:

    File.pathSeparator

    第一步:

    系统相关的路径分隔符,为了方便被表示为一个字符串,这个字符串是一个单独的字符,即pathSeparatorChar

    第二步:

    系统相关的路径分隔符。这个字段被初始化为系统属性path.separator值的第一个字符,这个字符被用来分隔以列表形式给定的文件序列的文件名称,

    在UNIX系统中是冒号(:),在Windows系统中是分号(;)

    第三步:

    FileSystem对象表示当前平台的本地文件系统

    第四步:

    返回本地文件系统的路径分隔符

    所以在java编程中,遇到文件和path等操作时,为了跨平台时不引起因分隔符导致的错误,就要调用这两个方法来进行文件路径或path的拼接。

    本系列为java编程相关问题,未完待续......

  • 相关阅读:
    快速构建Windows 8风格应用22MessageDialog
    快速构建Windows 8风格应用20MediaElement
    Windows Phone SDK 8.0安装步骤
    快速构建Windows 8风格应用25数据绑定
    快速构建Windows 8风格应用24App Bar构建
    快速构建Windows 8风格应用21构建简单媒体播放器
    快速构建Windows 8风格应用23App Bar概述及使用规范
    sqlyog存储过程
    201751201 输入数字输出汉字读法
    考虑算法的时间效率
  • 原文地址:https://www.cnblogs.com/hellowhy/p/6526114.html
Copyright © 2011-2022 走看看