You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Jiangwei Liu (Jira)" <ji...@apache.org> on 2022/12/30 09:11:00 UTC
[jira] [Commented] (IO-783) Fetching file extension using FilenameUtils.getExtension method throws error in windows machine
[ https://issues.apache.org/jira/browse/IO-783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17653077#comment-17653077 ]
Jiangwei Liu commented on IO-783:
---------------------------------
Hi Samraj,
you can review the source of indexOfExtension(String fileName) method , this method should validate the fileName string,
there is a special handling for NTFS ADS: Don't accept colon in the fileName.
> Fetching file extension using FilenameUtils.getExtension method throws error in windows machine
> -----------------------------------------------------------------------------------------------
>
> Key: IO-783
> URL: https://issues.apache.org/jira/browse/IO-783
> Project: Commons IO
> Issue Type: Bug
> Components: Utilities
> Affects Versions: 2.7, 2.8.0, 2.9.0, 2.10.0, 2.11.0
> Environment: Run the below line of code in windows environment.
> String fileName = FilenameUtils.getExtension("Top of Information Store\\Archive\\Informational-severity alert: eDiscovery search started or exported.msg");
> System.out.println(fileName);
>
> We are getting the error,
> Exception in thread "main" java.lang.IllegalArgumentException: NTFS ADS separator (':') in file name is forbidden.
> at org.apache.commons.io.FilenameUtils.indexOfExtension(FilenameUtils.java:737)
> at org.apache.commons.io.FilenameUtils.getExtension(FilenameUtils.java:1057)
> Reporter: Samraj
> Priority: Blocker
>
> Hi Team,
> I am using FilenameUtils.getExtension method to get the file extension from the file path ( Available as string). Due to one of the bug fix happen after 2.7 breaks the code.
> Run the below line of code in windows environment.
> String fileName = FilenameUtils.getExtension("Top of Information Store\\Archive
> Informational-severity alert: eDiscovery search started or exported.msg");
> System.out.println(fileName);
>
> We are getting the error,
> Exception in thread "main" java.lang.IllegalArgumentException: NTFS ADS separator (':') in file name is forbidden.
> at org.apache.commons.io.FilenameUtils.indexOfExtension(FilenameUtils.java:737)
> at org.apache.commons.io.FilenameUtils.getExtension(FilenameUtils.java:1057)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)