s/MAC_OSX_9/MAC_OS_9/
What about older versions of MacOS?
UNKNOWN(31,1024) // smallest values for safety
Are there differences between FAT,FAT32,NTFS,reiserfs,... ?

Jan


> -----Ursprüngliche Nachricht-----
> Von: Gary Gregory [mailto:garydgreg...@gmail.com]
> Gesendet: Mittwoch, 15. November 2017 18:34
> An: Commons Developers List
> Betreff: Re: [io] New enum for file system info?
> 
> On Wed, Nov 15, 2017 at 10:30 AM, Gary Gregory <garydgreg...@gmail.com>
> wrote:
> 
> > I find myself writing and using non-OO code around things like:
> >
> >     private final int MAX_FILE_NAME_LENGTH_WINDOWS = 255;
> >     private final int MAX_FILE_NAME_LENGTH_LINUX = 255;
> >     private final int MAX_FILE_NAME_LENGTH_MAC = 255;
> >     private final int MAX_FILE_NAME_LENGTH_MAC_OS9 = 31;
> >
> >     private final int MAX_FILE_PATH_LENGTH_WINDOWS = 32000;
> >     private final int MAX_FILE_PATH_LENGTH_LINUX = 4096;
> >     private final int MAX_FILE_PATH_LENGTH_MAC = 1024;
> >
> > But that is not even right for older Macs which limits file names to
> > 31 chars.
> >
> > I was thinking of creating a new enum:
> >
> > package org.apache.commons.io;
> >
> > public enum FileSystem {
> >
> >     LINUX(255, 4096),
> >     MAC_OSX(255, 1024),
> >     MAC_OSX_9(31, 1024),
> >     WINDOWS(255, 32000);
> >
> >     private final long maxFileLength;
> >     private final long maxPathLength;
> >
> >     private FileSystem(long maxFileLength, long maxPathLength) {
> >         this.maxFileLength = maxFileLength;
> >         this.maxPathLength = maxPathLength;
> >     }
> >
> >     public long getMaxFileLength() {
> >         return maxFileLength;
> >     }
> >
> >     public long getMaxPathLength() {
> >         return maxPathLength;
> >     }
> >
> >     public boolean isIllegalFileName(char ch) {
> >         ...
> >     }
> >
> >     public String toLegalFileName(String candidate, char replacement)
> {
> >         ...
> >     }
> >
> > }
> >
> > I would also move the new method from https://issues.apache.org/
> > jira/browse/IO-555 there and rename it "isIllegalFileName(char)"
> >
> > Thoughts?
> >
> 
> The enum would obviously need a "public static FileSystem getCurrent()"
> method.
> 
> Gary
> 
> 
> >
> > Gary
> >


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to