The javadoc states that File.pathSeparatorChar is:
The system-dependent path-separator character. This field is initialized to contain the first chara
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.