ERXFile Class Reference

Inherits java::io::File.

Collaboration diagram for ERXFile:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ERXFile (URI uri)
 ERXFile (String parent, String child)
 ERXFile (String pathname)
 ERXFile (File parent, String child)
File getAbsoluteFile ()
String getAbsolutePath ()
File getCanonicalFile () throws IOException
String getName ()
File getParentFile ()
String[] list (FilenameFilter arg0)
String[] list ()
File[] listFiles (FilenameFilter arg0)
File[] listFiles (FileFilter arg0)
File[] listFiles ()
String toString ()

Static Public Member Functions

static String normalizedPath (String name)


Detailed Description

Fixes some inconsistencies with java.io.File on MacOS X HFS+ filesystem and should be used as a replacement.

For example, the following code will not work as expected:

 	File f = new File("/tmp/FilenameWithSpecialCharacterÄÖÜ");
 	f.createNewFile();
 	File tmp = new File("/tmp");
 	File[] contents = tmp.listFiles();
 	for (int i = 0; i < contents.length; i++) {
 		if (contents[i].getName().equals("FilenameWithSpecialCharacterÄÖÜ")) {
 			System.out.println("found it!");
 		}
 	}
 

One would expect that the comparison contents[i].getName().equals("FilenameWithSpecialCharacterÄÖÜ") would result in true. This is not the case, at least not on HFS+ This subclass fixes this and should be used instead of java.io.File.

Actually, the code above _does_ work (WO 5.4.3, Mac OS X 10.5.8, java 1.5.0_22), but what else does this do? -rrk

Author:
David Teran

Constructor & Destructor Documentation

ERXFile ( File  parent,
String  child 
)

Creates a new File instance from a parent abstract pathname and a child pathname string.

If parent is null then the new File instance is created as if by invoking the single-argument File constructor on the given child pathname string.

Otherwise the parent abstract pathname is taken to denote a directory, and the child pathname string is taken to denote either a directory or a file. If the child pathname string is absolute then it is converted into a relative pathname in a system-dependent way. If parent is the empty abstract pathname then the new File instance is created by converting child into an abstract pathname and resolving the result against a system-dependent default directory. Otherwise each pathname string is converted into an abstract pathname and the child abstract pathname is resolved against the parent.

Parameters:
parent - The parent abstract pathname
child - The child pathname string
Exceptions:
NullPointerException - If child is null

ERXFile ( String  pathname  ) 

Creates a new File instance by converting the given pathname string into an abstract pathname. If the given string is the empty string, then the result is the empty abstract pathname.

Parameters:
pathname - A pathname string
Exceptions:
NullPointerException - If the pathname argument is null

ERXFile ( String  parent,
String  child 
)

Creates a new File instance from a parent pathname string and a child pathname string.

If parent is null then the new File instance is created as if by invoking the single-argument File constructor on the given child pathname string.

Otherwise the parent pathname string is taken to denote a directory, and the child pathname string is taken to denote either a directory or a file. If the child pathname string is absolute then it is converted into a relative pathname in a system-dependent way. If parent is the empty string then the new File instance is created by converting child into an abstract pathname and resolving the result against a system-dependent default directory. Otherwise each pathname string is converted into an abstract pathname and the child abstract pathname is resolved against the parent.

Parameters:
parent - The parent pathname string
child - The child pathname string
Exceptions:
NullPointerException - If child is null

ERXFile ( URI  uri  ) 

Creates a new File instance by converting the given file: URI into an abstract pathname.

The exact form of a file: URI is system-dependent, hence the transformation performed by this constructor is also system-dependent.

For a given abstract pathname f it is guaranteed that

new File(f.toURI()).equals(f.getAbsoluteFile())

so long as the original abstract pathname, the URI, and the new abstract pathname are all created in (possibly different invocations of) the same Java virtual machine. This relationship typically does not hold, however, when a file: URI that is created in a virtual machine on one operating system is converted into an abstract pathname in a virtual machine on a different operating system.

Parameters:
uri - An absolute, hierarchical URI with a scheme equal to "file", a non-empty path component, and undefined authority, query, and fragment components
Exceptions:
NullPointerException - If uri is null
IllegalArgumentException - If the preconditions on the parameter do not hold
Since:
1.4


Member Function Documentation

File getAbsoluteFile (  ) 

String getAbsolutePath (  ) 

File getCanonicalFile (  )  throws IOException

String getName (  ) 

File getParentFile (  ) 

String [] list ( FilenameFilter  arg0  ) 

String [] list (  ) 

File [] listFiles ( FilenameFilter  arg0  ) 

File [] listFiles ( FileFilter  arg0  ) 

File [] listFiles (  ) 

static String normalizedPath ( String  name  )  [static]

String toString (  ) 


The documentation for this class was generated from the following file:

Generated on Sat May 26 06:43:12 2012 for Project Wonder by  doxygen 1.5.8