Package org.apache.tika.io
Class FilenameUtils
- java.lang.Object
-
- org.apache.tika.io.FilenameUtils
-
public class FilenameUtils extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static char[]
RESERVED_FILENAME_CHARACTERS
Reserved characters
-
Constructor Summary
Constructors Constructor Description FilenameUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
getName(java.lang.String path)
This is a duplication of the algorithm and functionality available in commons io FilenameUtils.static java.lang.String
normalize(java.lang.String name)
Scans the given file name for reserved characters on different OSs and file systems and returns a sanitized version of the name with the reserved chars replaced by their hexadecimal value.
-
-
-
Method Detail
-
normalize
public static java.lang.String normalize(java.lang.String name)
Scans the given file name for reserved characters on different OSs and file systems and returns a sanitized version of the name with the reserved chars replaced by their hexadecimal value. For examplewhy?.zip
will be converted intowhy%3F.zip
- Parameters:
name
- the file name to be normalized - NOT NULL- Returns:
- the normalized file name
- Throws:
java.lang.IllegalArgumentException
- if name is null
-
getName
public static java.lang.String getName(java.lang.String path)
This is a duplication of the algorithm and functionality available in commons io FilenameUtils. If Java's File were able handle Windows file paths correctly in linux, we wouldn't need this.The goal of this is to get a filename from a path. The package parsers and some other embedded doc extractors could put anything into Metadata.RESOURCE_NAME_KEY.
If a careless client used that filename as if it were a filename and not a path when writing embedded files, bad things could happen. Consider: "../../../my_ppt.ppt".
Consider using this in combination with
normalize(String)
.- Parameters:
path
- path to strip- Returns:
- empty string or a filename, never null
-
-