Why is File.pathSeparatorChar a semicolon on Windows?

后端 未结 3 1901
醉梦人生
醉梦人生 2020-12-21 00:42

The javadoc states that File.pathSeparatorChar is:

The system-dependent path-separator character. This field is initialized to contain the first chara

3条回答
  •  独厮守ぢ
    2020-12-21 01:14

    You're confusing the path separator with the directory separator.

    The path separator is what separates paths entries in the PATH environment variable. It is ; on Windows. For example:

    PATH=C:\Windows;C:\Program Files
    

    The directory separator separates single folder names when specifying a file or folder name. It is \ on Windows. For example:

    C:\Windows\Temp\Test.txt
    

    After our discussion in the comments I finally understood your problem :-D The question "why" can probably only be answered by Microsoft. It is - I agree with you - not a smart idea to use a separator that's allowed in folder names. Maybe this comes from the old days of 8-character names?

    The real question should be how you can determine whether the ; is part of the folder or acts as the separator. I'm going to ask that question myself, because I find this rather interesting.

提交回复
热议问题