Package com.sun.enterprise.universal.io
Class SmartFile
- java.lang.Object
-
- com.sun.enterprise.universal.io.SmartFile
-
public class SmartFile extends Object
A class for sanitizing Files. Note that the main reason for this class is that on non-Windows, getCanonicalXXX and getAbsoluteXXX might point at different files. If the file is a soft link then the Canonical will be the file that is linked to. The Absolute will be the link file itself. This method will give you the benefits of Canonical -- but will always point at the link file itself. Windows is horribly complex compared to "everything else". Windows does not have the symbolic link issue -- so use getCanonicalXXX to do the work on Windows. Windows will return paths with all forward slashes -- no backward slashes unless it is the special Windows network address that starts with "\\"I.e. It is just like getAbsoluteXXX -- but it removes all relative path elements from the path.
- Author:
- bnevins
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static File
sanitize(File f)
Sanitize a File object -- remove all relative path portions, i.e.static String
sanitize(String filename)
Sanitize a path -- remove all relative path portions, i.e.static String
sanitizePaths(String pathsString)
Sanitize a "Classpath-like" list of Paths.
-
-
-
Method Detail
-
sanitize
public static File sanitize(File f)
Sanitize a File object -- remove all relative path portions, i.e. dots e.g. "/xxx/yyy/././././../yyy" --> /xxx/yyy on UNIX, perhaps C:/xxx/yyy on Windows- Parameters:
f
- The file to sanitize- Returns:
- THe sanitized File
-
sanitize
public static String sanitize(String filename)
Sanitize a path -- remove all relative path portions, i.e. dots e.g. "/xxx/yyy/././././../yyy" --> /xxx/yyy on UNIX, perhaps C:/xxx/yyy on Windows Note that the main reason for this class is that on non-Windows, getCanonicalXXX and getAbsoluteXXX might point at different files. If the file is a soft link then the Canonical will be the file that is linked to. The Absolute will be the link file itself. This method will give you the benefits of Canonical -- but will always point at the link file path itself.- Parameters:
filename
- The path to sanitize- Returns:
- The sanitized path
-
-