zoukankan      html  css  js  c++  java
  • portability flaw : file separator (可移植性缺陷:文件分隔符)

     portability flaw : file separator (可移植性缺陷:文件分隔符)

    问题产生原因: 主要是文件地址上采用硬编码导致 如 “\”

    解决方案:

    采用:Path.Combine Path.DirectorySeparatorChar

     例如:

    FileStream f = File.Create(@"E:DemoSecurityDemoSecurityDemoMyFile.txt");

    可改成

    FileStream f1 = File.Create(Path.Combine(
                    string.Format(@"E:{0}Demo{0}SecurityDemo{0}SecurityDemo{0}MyFile.txt", Path.DirectorySeparatorChar)));

     

    参考文档

    目录分隔符 

    Path.DirectorySeparatorChar 字段

    public static readonly char DirectorySeparatorChar

    提供平台特定的字符,该字符用于在反映分层文件系统组织的路径字符串中分隔目录级别。

    在该字段中存储的字符不能位于 InvalidPathChars 中。AltDirectorySeparatorChar 和 DirectorySeparatorChar 都适用于在路径字符串中分隔目录级别。

    该字段的值在 Unix 上为斜杠(“/”),在 Windows 和 Macintosh 操作系统上为反斜杠(“”)。

     

    替换分隔符

    Path.AltDirectorySeparatorChar

    public static readonly char AltDirectorySeparatorChar

    提供平台特定的替换字符,该替换字符用于在反映分层文件系统组织的路径字符串中分隔目录级别。

    在此字段中存储的字符不能位于 InvalidPathChars 中。该字段可被设置为与 DirectorySeparatorChar 相同的值。AltDirectorySeparatorChar 和 DirectorySeparatorChar 都适用于在路径字符串中分隔目录级别。

    该字段的值在 Unix 上为反斜杠(“”),在 Windows 和 Macintosh 操作系统上为斜杠(“/”)。

     

    环境变量中路径分隔符

    Path.PathSeparator

    public static readonly char PathSeparator

    用于在环境变量中分隔路径字符串的平台特定的分隔符。在基于 Windows 的桌面平台上,默认情况下该字段的值是分号 (;),但在其他平台上可能会有所不同。

     

    卷分隔符

    Path.AltDirectorySeparatorChar

    public static readonly char VolumeSeparatorChar

    提供平台特定的卷分隔符。该字段的值在 Windows 和 Macintosh 上为冒号(“:”),在 Unix 操作系统上为斜杠(“/”)。这对于分析像“c:windows”或“MacVolume:System Folder”这样的路径最为有用。

  • 相关阅读:
    docker学习笔记及hadoop集群搭建
    Zookeeper+Kafka+Storm+HDFS实践
    zookeeper集群搭建
    scala学习笔记——特质
    scala学习笔记-集合
    scala学习笔记-隐式转换和隐式参数
    RDD 重新分区,排序 repartitionAndSortWithinPartitions
    scala学习笔记——操作符
    JAVA基础系列(一) 概述与相关概念
    网络收藏夹
  • 原文地址:https://www.cnblogs.com/duanbiflying/p/7662079.html
Copyright © 2011-2022 走看看