commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <>
Subject [jira] [Created] (BCEL-182) Replace System.getProperty("file|path.separator") with File.separator|pathSeparator
Date Thu, 04 Dec 2014 14:58:12 GMT
Sebb created BCEL-182:

             Summary: Replace System.getProperty("file|path.separator") with File.separator|pathSeparator
                 Key: BCEL-182
             Project: Commons BCEL
          Issue Type: Improvement
            Reporter: Sebb
            Priority: Minor

The file separator character is available from both File.separator and System.getProperty("file.separator").

The former is guaranteed to be a string of length 1, but the latter can be defined as a longer
string on the Java command line. Thus the two can be different, but still allow the JVM to
start up.
I found the following worked:

java -Dfile.separator=/xyz

for Unix or the equivalent \xyz on Windows.

[Using a different first character does not work - the JVM usually throws an
exception as it cannot find some required files if the sep. is incorrect.]

It looks like only the first character of the property is used by the JVM.
However, this is not done by the application code I have seen, which means that there could
be a discrepancy between the two methods.

File.separator has the additional benefit that it is not subject to a privilege

The same reasoning applies to "path.separator" => File.pathSeparator

Commons code should always use the File constants.

This message was sent by Atlassian JIRA

View raw message