Stephen, What happens to getExtension() when there is no "." character? Also, what is there are multiple ".", are you thinking name.substring( name.lastIndexOf( "." ) + 1 )?
What does getPrefix() return on Unix? Nothing? Tim > -----Original Message----- > From: Stephen Colebourne [mailto:[EMAIL PROTECTED] > Sent: Sunday, November 21, 2004 7:18 PM > To: Jakarta Commons Developers List > Subject: Re: [io] Filename prefixes > > Basically it looks like we'll need: > > getPrefix() - C:\ > getPath() - dev\project > getFullPath() - C:\dev\project > getName() - file.txt > getExtension() - txt > (input C:\dev\project\file.txt) > > Normalize/catPath can then use the other methods to stitch > together a result. > > Naming: > catPath() should be renamed to concat() > getFullPath()/getPath() - are these logical names? > > Stephen > > ----- Original Message ----- > From: "Martin Cooper" <[EMAIL PROTECTED]> > > On Mon, 22 Nov 2004 01:03:28 -0000, Stephen Colebourne > > <[EMAIL PROTECTED]> wrote: > > > In order to write the normalize() method properly, I > realised that > > > we > have > > > to deal with filename prefixes properly. The point being that you > > > can't > .. > > > up into a filename prefix. > > > > > > Here's the javadoc for the method I'm writing. Does this cover the > cases? > > > > Looks good to me. I can't think of any other options, at least for > > Windows and Unix. > > > > -- > > Martin Cooper > > > > > > > > > > /** > > > * Returns the length of the filename prefix, such as > <code>C:/</code> > > > or <code>~/</code>. > > > * <p> > > > * This method will handle a file in either Unix or > Windows format. > > > * The prefix includes the first slash in the full filename. > > > * <pre> > > > * Windows: > > > * a\b\c.txt --> "" --> relative > > > * \a\b\c.txt --> "\" --> drive relative > > > * C:\a\b\c.txt --> "C:\" --> absolute > > > * \\server\a\b\c.txt --> "\\server\" --> UNC > > > * > > > * Unix: > > > * a/b/c.txt --> "" --> relative > > > * /a/b/c.txt --> "/" --> absolute > > > * ~/a/b/c.txt --> "~/" --> current > user relative > > > * ~user/a/b/c.txt --> "~user/" --> named user relative > > > * </pre> > > > * > > > * @param filename the filename to find the prefix in, null > returns -1 > > > * @return the length of the prefix, -1 if invalid or null > > > */ > > > > > > Stephen > > > > > > > -------------------------------------------------------------------- > > > - To unsubscribe, e-mail: > [EMAIL PROTECTED] > > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
