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]
