Sebb created BCEL-182:
-------------------------

             Summary: Replace System.getProperty("file|path.separator") with 
File.separator|pathSeparator
                 Key: BCEL-182
                 URL: https://issues.apache.org/jira/browse/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
check.

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

Commons code should always use the File constants.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to