Package org.apache.tika.io
Class FilenameUtils
java.lang.Object
org.apache.tika.io.FilenameUtils
-
Field Summary
Modifier and TypeFieldDescriptionstatic final char[]
Reserved characters -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
This is a duplication of the algorithm and functionality available in commons io FilenameUtils.static String
getSuffixFromPath
(String path) This includes the period, e.g. ".pdf"static String
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.
-
Field Details
-
RESERVED_FILENAME_CHARACTERS
public static final char[] RESERVED_FILENAME_CHARACTERSReserved characters
-
-
Constructor Details
-
FilenameUtils
public FilenameUtils()
-
-
Method Details
-
normalize
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 example
why?.zip
will be converted intowhy%3F.zip
- Parameters:
name
- the file name to be normalized - NOT NULL- Returns:
- the normalized file name
- Throws:
IllegalArgumentException
- if name is null
-
getName
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 TikaCoreProperties.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
-
getSuffixFromPath
This includes the period, e.g. ".pdf"- Parameters:
path
-- Returns:
- the suffix or an empty string if one could not be found
-