com.ibm.as400.access
Class IFSJavaFile

java.lang.Object
  extended byjava.io.File
      extended bycom.ibm.as400.access.IFSJavaFile
All Implemented Interfaces:
Comparable, Serializable

public class IFSJavaFile
extends File
implements Serializable

The IFSJavaFile class represents a file in the integrated file system of an i5/OS system.
IFSJavaFile extends the java.io.File class and allows programs to be written for the java.io.File interface and still access the i5/OS integrated file system. IFSFile should be considered as an alternate to java.io.File class.

When should IFSJavaFile be used?

Notes:

  1. IFSJavaFile is designed to be used with IFSFileInputStream and IFSFileOutputStream. It does not support java.io.FileInputStream and java.io.FileOutputStream.
  2. IFSJavaFile cannot override createTempFile because java.io.File defines createTempFile as a static method.
  3. IFSJavaFile cannot override deleteOnExit because the Java Virtual Machine does nothing to indicate when it is preparing to exit.
  4. IFSJavaFile is designed to look more like java.io.File than IFSFile. It is designed to enable a plug-in fit for previously written java.io.File code.
  5. IFSJavaFile always implements a SecurityManager using i5/OS security. The SecurityManager provides authority checks. It throws security exceptions when illegal access attempts are made.

The following example demonstrates the use of IFSJavaFile. It shows how a few lines of platform specific code enable the creation of a file on either the i5/OS system or the local client.

     int location            = ON_THE_AS400;
     java.io.File file       = null;
     java.io.OutputStream os = null;

if (location == ON_THE_AS400) file = new IFSJavaFile(new AS400("enterprise"), path); // Work with the file on the system "enterprise". else file = new java.io.File(path); // Work with the file on the local file system.
if (file.exists()) System.out.println("Length: " + file.length()); // Determine the file size. else System.out.println("File " + file.getName() + " not found");
// Delete the file. This should be done before creating an output stream. if (file.delete() == false) System.err.println("Unable to delete file."); // Display the error message.
if (location == ON_THE_AS400) os = (OutputStream)new IFSFileOutputStream((IFSJavaFile)file); else os = new FileOutputStream(file);
writeData(file, os); os.close();
void writeData(java.io.File file, java.io.OutputStream os) throws IOException { // Determine the parent directory of the file. System.out.println("Directory: " + file.getParent());
// Determine the name of the file. System.out.println("Name: " + file.getName());
// Determine when the file was last modified. System.out.println("Date: " + new Date(file.lastModified()));
System.out.println("Writing Data"); for (int i = 0; i < 256; i++) os.write((byte)i); }

See Also:
IFSFile, IFSFileInputStream, IFSFileOutputStream, Serialized Form

Field Summary
 
Fields inherited from class java.io.File
pathSeparator, pathSeparatorChar, separator, separatorChar
 
Constructor Summary
IFSJavaFile()
          Creates a default IFSJavaFile instance.
IFSJavaFile(AS400 system, IFSJavaFile directory, String name)
          Creates a new IFSJavaFile instance for the specified system, from a parent abstract pathname and a child pathname string.
IFSJavaFile(AS400 system, String path)
          Creates a new IFSJavaFile instance for the specified system, using a file pathname string.
IFSJavaFile(AS400 system, String path, String name)
          Creates a new IFSJavaFile instance for the specified system, from a parent pathname string and a child pathname string.
IFSJavaFile(IFSFile file)
          Creates a new IFSJavaFile instance from an IFSFile object.
IFSJavaFile(IFSJavaFile directory, String name)
          Creates a new IFSJavaFile instance from a parent abstract pathname and a child pathname string.
 
Method Summary
 boolean canRead()
          Indicates if the program can read from the IFSJavaFile.
 boolean canWrite()
          Indicates if the program can write to the IFSJavaFile.
 int compareTo(File file)
          Compares the path of IFSJavaFile with a File's path.
 int compareTo(IFSFile file)
          Compares the path of IFSJavaFile with a IFSFile's path.
 int compareTo(IFSJavaFile file)
          Compares the paths of two IFSJavaFiles.
 boolean createNewFile()
          Atomically create a new, empty file.
 boolean delete()
          Deletes the IFSJavaFile.
 boolean equals(Object obj)
          Compares this IFSJavaFile against the specified object.
 boolean exists()
          Indicates if the IFSJavaFile exists.
 File getAbsoluteFile()
          Returns An IFSJavaFile object based on the absolute path name of the current object.
 String getAbsolutePath()
          Returns the absolute path name of the IFSJavaFile.
 File getCanonicalFile()
          Returns An IFSJavaFile object based on the canonical path name of the current object.
 String getCanonicalPath()
          Returns the path name in canonical form of IFSJavaFile path.
 String getName()
          Returns the name of the IFSJavaFile.
 String getParent()
          Returns the parent directory of the IFSJavaFile.
 File getParentFile()
          Returns an IFSJavaFile object that represents the parent of the current object.
 String getPath()
          Returns the path name of the IFSJavaFile.
 int getPatternMatching()
          Returns the pattern-matching behavior used when files are listed by any of the list() or listFiles() methods.
 AS400 getSystem()
          Returns the system that this object references.
 int hashCode()
          Computes a hashcode for this object.
 boolean isAbsolute()
          Indicates if the path name of this IFSJavaFile is an absolute path name.
 boolean isDirectory()
          Indicates if the IFSJavaFile is a directory.
 boolean isFile()
          Indicates if the IFSJavaFile is a "normal" file.
 boolean isHidden()
          Indicates if the IFSJavaFile is hidden.
 long lastModified()
          Indicates the time that the IFSJavaFile was last modified.
 long length()
          Indicates the length of this IFSJavaFile.
 String[] list()
          Lists the files in this IFSJavaFile directory.
 String[] list(FilenameFilter filter)
          Lists the files in this IFSJavaFile directory that satisfy filter.
 String[] list(IFSFileFilter filter)
          Lists the files in the IFSJavaFile directory that satisfy file name filter.
 String[] list(IFSFileFilter filter, String pattern)
          Lists the files in this IFSJavaFile directory that satisfy filter and pattern.
 String[] list(String pattern)
          Lists the files in this IFSJavaFile directory that match pattern.
 File[] listFiles()
          Lists the files in this IFSJavaFile directory.
 File[] listFiles(FileFilter filter)
          Lists the files in this IFSJavaFile directory that satisfy filter.
 File[] listFiles(FilenameFilter filter)
          Lists the files in this IFSJavaFile directory that satisfy filter.
 File[] listFiles(IFSFileFilter filter)
          Lists the files in the IFSJavaFile directory that satisfy file name filter.
 File[] listFiles(IFSFileFilter filter, String pattern)
          Lists the files in this IFSJavaFile directory that satisfy filter and pattern.
 File[] listFiles(String pattern)
          Lists the files in this IFSJavaFile directory that match pattern.
static File[] listRoots()
          Lists the file system roots for the integrated file system of the i5/OS system.
 boolean mkdir()
          Creates a directory whose path name is specified by this IFSJavaFile.
 boolean mkdirs()
          Creates a directory whose path name is specified by this IFSJavaFile, including any necessary parent directories.
 boolean renameTo(File dest)
          Renames the IFSJavaFile to have the path name of dest.
 boolean renameTo(IFSJavaFile dest)
          Renames the IFSJavaFile to have the path name of dest.
 boolean setLastModified(long time)
          Sets the last modified time of the file named by this IFSJavaFile object.
 boolean setLength(int length)
          Sets the length of the file named by this IFSJavaFile object.
 boolean setPath(String path)
          Sets the path for this IFSJavaFile.
 void setPatternMatching(int patternMatching)
          Sets the pattern-matching behavior used when files are listed by any of the list() or listFiles() methods.
 boolean setReadOnly()
          Marks the file named by this IFSJavaFile object so that only read operations are allowed.
 boolean setSystem(AS400 system)
          Sets the system.
 String toString()
          Returns a string representation of this object.
 URL toURL()
          Converts the abstract path name into a file: URL.
 
Methods inherited from class java.io.File
compareTo, createTempFile, createTempFile, deleteOnExit, toURI
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IFSJavaFile

public IFSJavaFile()
Creates a default IFSJavaFile instance.


IFSJavaFile

public IFSJavaFile(AS400 system,
                   String path)
Creates a new IFSJavaFile instance for the specified system, using a file pathname string.

Parameters:
system - The system that contains the IFSJavaFile.
path - The file path name where the IFSJavaFile is or will be stored.

IFSJavaFile

public IFSJavaFile(AS400 system,
                   String path,
                   String name)
Creates a new IFSJavaFile instance for the specified system, from a parent pathname string and a child pathname string.

Parameters:
system - The system that contains the IFSJavaFile.
path - The file path name where the IFSJavaFile is or will be stored.
name - The name of the IFSJavaFile object.

IFSJavaFile

public IFSJavaFile(IFSJavaFile directory,
                   String name)
Creates a new IFSJavaFile instance from a parent abstract pathname and a child pathname string.

The directory argument cannot be null. The constructed IFSJavaFile instance uses the following settings taken from directory:

The resulting file name is taken from the path name of directory, followed by the separator character, followed by name.

Parameters:
directory - The directory where the IFSJavaFile is or will be stored.
name - The name of the IFSJavaFile object.

IFSJavaFile

public IFSJavaFile(AS400 system,
                   IFSJavaFile directory,
                   String name)
Creates a new IFSJavaFile instance for the specified system, from a parent abstract pathname and a child pathname string.

Parameters:
system - The system that contains the IFSJavaFile.
directory - The directory where the IFSJavaFile is or will be stored.
name - The name of the IFSJavaFile object.

IFSJavaFile

public IFSJavaFile(IFSFile file)
Creates a new IFSJavaFile instance from an IFSFile object.

Parameters:
file - An IFSFile object.
Method Detail

canRead

public boolean canRead()
Indicates if the program can read from the IFSJavaFile.

Returns:
true if the object exists and is readable; false otherwise.

canWrite

public boolean canWrite()
Indicates if the program can write to the IFSJavaFile.

Returns:
true if the object exists and is writeable; false otherwise.

compareTo

public int compareTo(IFSJavaFile file)
Compares the paths of two IFSJavaFiles.

The following examples demonstrate the use of this method:

In this example, returnCode would be less than 0 because the path of file is less than the path of file2.

  IFSJavaFile file  = new IFSJavaFile(new AS400("enterprise"), path);
  IFSJavaFile file2 = new IFSJavaFile(new AS400("enterprise"), path + "\\extra");
 
int returnCode = file.compareTo(file2);

In this example, returnCode would be greater than 0 because the path of file is greater than the path of file2.

  IFSJavaFile file  = new IFSJavaFile(new AS400("enterprise"), path + "\\extra");
  IFSJavaFile file2 = new IFSJavaFile(new AS400("enterprise"), path);
 
int returnCode = file.compareTo(file2);

In this example, returnCode would be less than 0 because the path of file is less than the path of file2.

  IFSJavaFile file  = new IFSJavaFile(new AS400("enterprise"), "\\QSYS.LIB\\herlib");
  IFSJavaFile file2 = new IFSJavaFile(new AS400("enterprise"), "\\QSYS.LIB\\hislib");
 
int returnCode = file.compareTo(file2);

Note:
The comparison is case sensitive.

Parameters:
file - The IFSJavaFile to be compared.
Returns:
0 if this IFSJavaFile path equals file's path; a value less than 0 if this IFSJavaFile path is less than the file's path; and a value greater than 0 if this IFSJavaFile path is greater than the file's path.
Since:
JDK1.2

compareTo

public int compareTo(File file)
Compares the path of IFSJavaFile with a File's path.

Note:
The comparison is case sensitive.

Parameters:
file - The File to be compared.
Returns:
0 if this IFSJavaFile path equals the argument's path; a value less than 0 if this IFSJavaFile path is less than the argument's path; and a value greater than 0 if this IFSJavaFile path is greater than the argument's path.
Since:
JDK1.2

compareTo

public int compareTo(IFSFile file)
Compares the path of IFSJavaFile with a IFSFile's path.

Note:
The comparison is case sensitive.

Parameters:
file - The IFSFile to be compared.
Returns:
0 if this IFSJavaFile path equals the argument's path; a value less than 0 if this IFSJavaFile path is less than the argument's path; and a value greater than 0 if this IFSJavaFile path is greater than the argument's path.
Since:
JDK1.2

createNewFile

public boolean createNewFile()
                      throws IOException
Atomically create a new, empty file. The file is created if and only if the file does not yet exist. The check for existence and the file creation is a single atomic operation.

Returns:
true if the file is created, false otherwise.
Throws:
IOException - If an I/O error occurs while communicating with the i5/OS system.

delete

public boolean delete()
Deletes the IFSJavaFile. If the target is a directory, it must be empty for deletion to succeed.

Returns:
true if the file is successfully deleted; false otherwise.

equals

public boolean equals(Object obj)
Compares this IFSJavaFile against the specified object. Returns true if and only if the argument is not null and is an IFSJavaFile object whose path name is equal to the path name of this IFSJavaFile, and system names of the objects are equal.

Parameters:
obj - The object to compare with.
Returns:
true if the objects are the same; false otherwise.

exists

public boolean exists()
Indicates if the IFSJavaFile exists.

Returns:
true if the file specified by this object exists; false otherwise.

getAbsoluteFile

public File getAbsoluteFile()
Returns An IFSJavaFile object based on the absolute path name of the current object. If the system property is set, it is copied to the returned object.

Returns:
an IFSJavaFile object based on the absolute path name of the current object.
See Also:
getAbsolutePath()

getAbsolutePath

public String getAbsolutePath()
Returns the absolute path name of the IFSJavaFile. This is the full path starting at the root directory.

Returns:
The absolute path name for this IFSJavaFile. All paths are absolute paths in the integrated file system.
See Also:
isAbsolute()

getCanonicalFile

public File getCanonicalFile()
                      throws IOException
Returns An IFSJavaFile object based on the canonical path name of the current object. If the system property is set, it is copied to the returned object.

Returns:
an IFSJavaFile object based on the canonical path name of the current object.
Throws:
IOException - If an I/O error occurs while communicating with the i5/OS system.
See Also:
getCanonicalPath()

getCanonicalPath

public String getCanonicalPath()
                        throws IOException
Returns the path name in canonical form of IFSJavaFile path. This is the full path starting at the root directory.

Returns:
The canonical path name for this IFSJavaFile.
Throws:
IOException - If an I/O error occurs while communicating with the i5/OS system.

getName

public String getName()
Returns the name of the IFSJavaFile. The name is everything in the path name after the last occurrence of the separator character.

The following example demonstrates the use of this method:

In this example, fileName would equal "file.dat".

  String path = "\\path\\file.dat";
  IFSJavaFile file  = new IFSJavaFile(new AS400("enterprise"), path);
 
String fileName = file.getName();

Returns:
The name (without any directory components) of this IFSJavaFile.

getParent

public String getParent()
Returns the parent directory of the IFSJavaFile. The parent directory is everything in the path name before the last occurrence of the separator character, or null if the separator character does not appear in the path name.

The following example demonstrates the use of this method:

In this example, parentPath would equal "\test".

  String path = "\\test\\path";
  IFSJavaFile file  = new IFSJavaFile(new AS400("enterprise"), path);
 
String parentPath = file.getParent();

Returns:
The parent directory if one exists; null otherwise.

getParentFile

public File getParentFile()
Returns an IFSJavaFile object that represents the parent of the current object. The parent is the path name before the last occurrence of the separator character. Null is returned null if the separator character does not appear in the path the path or the current object is the file system root. If the system property is set, it is also copied to the returned object.

Returns:
an IFSJavaFile object representing the parent directory if one exists; null otherwise.
See Also:
getParent()

getPath

public String getPath()
Returns the path name of the IFSJavaFile.

The following example demonstrates the use of this method:

In this example, thePath would equal "\test\path" the same value as path.

  String path = "\\test\\path";
  IFSJavaFile file  = new IFSJavaFile(new AS400("enterprise"), path);
 
String thePath = file.getPath();

Returns:
The file path name.

getPatternMatching

public int getPatternMatching()
                       throws IOException
Returns the pattern-matching behavior used when files are listed by any of the list() or listFiles() methods. The default is PATTERN_POSIX.

Returns:
Either PATTERN_POSIX, PATTERN_POSIX_ALL, or PATTERN_OS2
Throws:
IOException

getSystem

public AS400 getSystem()
Returns the system that this object references.

Returns:
The system object.

hashCode

public int hashCode()
Computes a hashcode for this object.

Returns:
A hash code value for this object.

isAbsolute

public boolean isAbsolute()
Indicates if the path name of this IFSJavaFile is an absolute path name.

Returns:
true if the path name specification is absolute; false otherwise.

isDirectory

public boolean isDirectory()
Indicates if the IFSJavaFile is a directory.

Returns:
true if the IFSJavaFile exists and is a directory; false otherwise.

isFile

public boolean isFile()
Indicates if the IFSJavaFile is a "normal" file.
A file is "normal" if it is not a directory or a container of other objects.

Returns:
true if the specified file exists and is a "normal" file; false otherwise.

isHidden

public boolean isHidden()
Indicates if the IFSJavaFile is hidden. On the i5/OS system, a file is hidden if its hidden attribute is set.

Returns:
true if the file is hidden; false otherwise.

lastModified

public long lastModified()
Indicates the time that the IFSJavaFile was last modified.

Returns:
The time (measured in milliseconds since 01/01/1970 00:00:00 GMT) that the IFSJavaFile was last modified, or 0 if it does not exist.

length

public long length()
Indicates the length of this IFSJavaFile.

Returns:
The length, in bytes, of the IFSJavaFile, or 0 if it does not exist.

list

public String[] list()
Lists the files in this IFSJavaFile directory.

Returns:
An array of object names in the directory. This list does not include the current directory or the parent directory. If this IFSJavaFile is not a directory, null is returned. If this IFSJavaFile is an empty directory, an empty string array is returned.
See Also:
listFiles()

list

public String[] list(FilenameFilter filter)
Lists the files in this IFSJavaFile directory that satisfy filter.

Parameters:
filter - The file name filter.
Returns:
An array of object names in the directory that satisfy the file name filter. This list does not include the current directory or the parent directory. If this IFSJavaFile is not a directory, null is returned. If this IFSJavaFile is an empty directory, or the file name filter does not match any files, an empty string array is returned. The IFSJavaFile object passed to the file name filter object have cached file attribute information. Maintaining references to these IFSJavaFile objects after the list operation increases the chances that their file attribute information will not be valid.

The following example demonstrates the use of this method:

  class AcceptClass implements java.io.FilenameFilter
  {
    public boolean accept(java.io.File dir, java.lang.String name)
    {
      if (name.startsWith("IFS"))
        return true;
      return false;
    }
  }
 
IFSJavaFile file = new IFSJavaFile(new AS400("enterprise"), path); AcceptClass ac = new AcceptClass(); file.list(ac);
See Also:
listFiles(FilenameFilter)

list

public String[] list(IFSFileFilter filter)
Lists the files in the IFSJavaFile directory that satisfy file name filter.

Parameters:
filter - The file name filter.
Returns:
An array of object names in the directory that satisfy the file name filter. This list does not include the current directory or the parent directory. If this IFSJavaFile is not a directory, null is returned. If this IFSJavaFile is an empty directory, or the file name filter does not match any files, an empty string array is returned. The IFSFile object passed to the file name filter object have cached file attribute information. Maintaining references to these IFSFile objects after the list operation increases the chances that their file attribute information will not be valid.

The following example demonstrates the use of this method:

  class AcceptClass implements IFSFileFilter
  {
    public boolean accept(IFSFile file)
    {
      if (file.getName().startsWith("IFS"))
        return true;
      return false;
    }
  }
 
IFSJavaFile file = new IFSJavaFile(new AS400("enterprise"), path); AcceptClass ac = new AcceptClass(); file.list(ac);
See Also:
listFiles(IFSFileFilter)

list

public String[] list(IFSFileFilter filter,
                     String pattern)
Lists the files in this IFSJavaFile directory that satisfy filter and pattern.

Note:
If the file does not match pattern, it will not be processed by filter.

Parameters:
filter - The file name filter.
pattern - The pattern that all filenames must match. Acceptable characters are wildcards (* - matches multiple characters) and question marks (? - matches one character). Pattern must not be null.
Returns:
An array of object names in the directory that satisfy the file name filter and pattern. This list does not include the current directory or the parent directory. If this IFSJavaFile is not a directory, null is returned. If this IFSJavaFile is an empty directory, or the file name filter or pattern does not match any files, an empty string array is returned. The IFSFile object passed to the file name filter object have cached file attribute information. Maintaining references to these IFSFile objects after the list operation increases the chances that their file attribute information will not be valid.
See Also:
listFiles(IFSFileFilter,String)

list

public String[] list(String pattern)
Lists the files in this IFSJavaFile directory that match pattern.

Parameters:
pattern - The pattern that all filenames must match. Acceptable characters are wildcards (* - matches multiple characters) and question marks (? - matches one character).
Returns:
An array of object names in the directory that match the pattern. This list does not include the current directory or the parent directory. If this IFSJavaFile is not a directory, null is returned. If this IFSJavaFile is an empty directory, or the pattern does not match any files, an empty string array is returned.
See Also:
listFiles(String)

listFiles

public File[] listFiles()
Lists the files in this IFSJavaFile directory. With the use of this function, attribute information is cached and will not be refreshed from the i5/OS system. This means attribute information may become inconsistent with the i5/OS system.

Returns:
An array of objects in the directory. This list does not include the current directory or the parent directory. If this IFSJavaFile is not a directory, null is returned. If this IFSJavaFile is an empty directory, an empty object array is returned.
See Also:
list()

listFiles

public File[] listFiles(FilenameFilter filter)
Lists the files in this IFSJavaFile directory that satisfy filter. With the use of this function, attribute information is cached and will not be refreshed from the i5/OS system. This means attribute information may become inconsistent with the i5/OS system.

Parameters:
filter - The file name filter.
Returns:
An array of objects in the directory that satisfy the file name filter. This list does not include the current directory or the parent directory. If this IFSJavaFile is not a directory, null is returned. If this IFSJavaFile is an empty directory, or the file name filter does not match any files, an empty object array is returned. The IFSJavaFile object passed to the file name filter object has cached file attribute information. Maintaining references to these IFSJavaFile objects after the list operation increases the chances that their file attribute information will not be valid.

The following example demonstrates the use of this method:

  class AcceptClass implements java.io.FilenameFilter
  {
    public boolean accept(java.io.File dir, java.lang.String name)
    {
      if (name.startsWith("IFS"))
        return true;
      return false;
    }
  }
 
IFSJavaFile file = new IFSJavaFile(new AS400("enterprise"), path); AcceptClass ac = new AcceptClass(); file.listFiles(ac);
See Also:
list(FilenameFilter)

listFiles

public File[] listFiles(FileFilter filter)
Lists the files in this IFSJavaFile directory that satisfy filter. With the use of this function, attribute information is cached and will not be refreshed from the i5/OS system. This means attribute information may become inconsistent with the i5/OS system.

Parameters:
filter - The file filter.
Returns:
An array of objects in the directory that satisfy the file filter. This list does not include the current directory or the parent directory. If this IFSJavaFile is not a directory, null is returned. If this IFSJavaFile is an empty directory, or the file filter does not match any files, an empty object array is returned. The IFSJavaFile object passed to the file filter object has cached file attribute information. Maintaining references to these IFSJavaFile objects after the list operation increases the chances that their file attribute information will not be valid.

The following example demonstrates the use of this method:

  class AcceptClass implements java.io.FileFilter
  {
    public boolean accept(java.io.File file)
    {
      if (file.getName().startsWith("IFS"))
        return true;
      return false;
    }
  }
 
IFSJavaFile file = new IFSJavaFile(new AS400("enterprise"), path); AcceptClass ac = new AcceptClass(); file.listFiles(ac);

listFiles

public File[] listFiles(IFSFileFilter filter)
Lists the files in the IFSJavaFile directory that satisfy file name filter. With the use of this function, attribute information is cached and will not be refreshed from the i5/OS system. This means attribute information may become inconsistent with the i5/OS system.

Parameters:
filter - The file name filter.
Returns:
An array of objects in the directory that satisfy the file name filter. This list does not include the current directory or the parent directory. If this IFSJavaFile is not a directory, null is returned. If this IFSJavaFile is an empty directory, or the file name filter does not match any files, an empty object array is returned. The IFSFile object passed to the file name filter object has cached file attribute information. Maintaining references to these IFSFile objects after the list operation increases the chances that their file attribute information will not be valid.

The following example demonstrates the use of this method:

  class AcceptClass implements IFSFileFilter
  {
    public boolean accept(IFSFile file)
    {
      if (file.getName().startsWith("IFS"))
        return true;
      return false;
    }
  }
 
IFSJavaFile file = new IFSJavaFile(new AS400("enterprise"), path); AcceptClass ac = new AcceptClass(); file.listFiles(ac);
See Also:
list(IFSFileFilter)

listFiles

public File[] listFiles(IFSFileFilter filter,
                        String pattern)
Lists the files in this IFSJavaFile directory that satisfy filter and pattern. With the use of this function, attribute information is cached and will not be refreshed from the i5/OS system. This means attribute information may become inconsistent with the i5/OS system.

Note:
If the file does not match pattern, it will not be processed by filter.

Parameters:
filter - The file name filter.
pattern - The pattern that all filenames must match. Acceptable characters are wildcards (* - matches multiple characters) and question marks (? - matches one character). Pattern must not be null.
Returns:
An array of objects in the directory that satisfy the file name filter and pattern. This list does not include the current directory or the parent directory. If this IFSJavaFile is not a directory, null is returned. If this IFSJavaFile is an empty directory, or the file name filter or pattern does not match any files, an empty object array is returned. The IFSFile object passed to the file name filter object has cached file attribute information. Maintaining references to these IFSFile objects after the list operation increases the chances that their file attribute information will not be valid.
See Also:
list(IFSFileFilter,String)

listFiles

public File[] listFiles(String pattern)
Lists the files in this IFSJavaFile directory that match pattern. With the use of this function, attribute information is cached and will not be refreshed from the i5/OS system. This means attribute information may become inconsistent with the i5/OS system.

Parameters:
pattern - The pattern that all filenames must match. Acceptable characters are wildcards (* - matches multiple characters) and question marks (? - matches one character).
Returns:
An array of object names in the directory that match the pattern. This list does not include the current directory or the parent directory. If this IFSJavaFile is not a directory, null is returned. If this IFSJavaFile is an empty directory, or the pattern does not match any files, an empty string array is returned.
See Also:
list(String)

listRoots

public static File[] listRoots()
Lists the file system roots for the integrated file system of the i5/OS system. The i5/OS integrated file system has only one root -- "/".

Returns:
An array of IFSJavaFile objects that represent the file system roots of the integrated file system of the i5/OS system. Since the i5/OS integrated file system has only one root, the returned array contains only one element.

mkdir

public boolean mkdir()
Creates a directory whose path name is specified by this IFSJavaFile.

Returns:
true if the directory could be created; false otherwise.

mkdirs

public boolean mkdirs()
Creates a directory whose path name is specified by this IFSJavaFile, including any necessary parent directories.

Returns:
true if the directory (or directories) could be created; false otherwise.

renameTo

public boolean renameTo(IFSJavaFile dest)
Renames the IFSJavaFile to have the path name of dest. Wildcards are not permitted in this file name.

Parameters:
dest - The new filename.
Returns:
true if the renaming succeeds; false otherwise.

renameTo

public boolean renameTo(File dest)
Renames the IFSJavaFile to have the path name of dest. Wildcards are not permitted in this file name.

Parameters:
dest - An object specifying the new filename. If this object is not an IFSJavaFile, the rename will fail.
Returns:
true if the renaming succeeds; false otherwise.

setLastModified

public boolean setLastModified(long time)
Sets the last modified time of the file named by this IFSJavaFile object.

Parameters:
time - The new last modified time, measured in milliseconds since 00:00:00 GMT, January 1, 1970. If -1, sets the last modified time to the current system time.
Returns:
true if the time is set; false otherwise.

setLength

public boolean setLength(int length)
Sets the length of the file named by this IFSJavaFile object. The file can be made larger or smaller. If the file is made larger, the contents of the new bytes of the file are undetermined.

Parameters:
length - The new length, in bytes.
Returns:
true if successful; false otherwise.

setPath

public boolean setPath(String path)
Sets the path for this IFSJavaFile.

Parameters:
path - The absolute file path.
Returns:
true if the path was set; false otherwise.

setPatternMatching

public void setPatternMatching(int patternMatching)
                        throws IOException
Sets the pattern-matching behavior used when files are listed by any of the list() or listFiles() methods. The default is PATTERN_POSIX.

Parameters:
patternMatching - Either PATTERN_POSIX, PATTERN_POSIX_ALL, or PATTERN_OS2
Throws:
ConnectionDroppedException - If the connection is dropped unexpectedly.
ExtendedIOException - If an error occurs while communicating with the system.
InterruptedIOException - If this thread is interrupted.
ServerStartupException - If the host server cannot be started.
UnknownHostException - If the system cannot be located.
IOException

setReadOnly

public boolean setReadOnly()
Marks the file named by this IFSJavaFile object so that only read operations are allowed. On the i5/OS system, a file is marked read only by setting the read only attribute of the file.

Returns:
true if the read only attribute is set; false otherwise.

setSystem

public boolean setSystem(AS400 system)
Sets the system.

Parameters:
system - The system object.
Returns:
true if the system was set; false otherwise.

toString

public String toString()
Returns a string representation of this object.

Returns:
A string giving the path name of this object.

toURL

public URL toURL()
          throws MalformedURLException
Converts the abstract path name into a file: URL. The i5/OS file/directory will be accessed and if it is a directory the resulting URL will end with the i5/OS separator character (forward slash). The system name will be obtained from the AS400 object. If the path name or AS400 object has not been set, a NullPointerException will be thrown.

Returns:
The URL form of the abstract path name of this object.
Throws:
MalformedURLException - If the URL cannot be formed.