commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] [Created] (VFS-549) Replace System.getProperty("file|path.separator") with File.separator|pathSeparator
Date Thu, 04 Dec 2014 15:00:28 GMT
Sebb created VFS-549:
------------------------

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

Mime
View raw message