Package com.sun.http
Class XFileAccessor
- java.lang.Object
-
- com.sun.http.XFileAccessor
-
- All Implemented Interfaces:
XFileAccessor
public class XFileAccessor extends java.lang.Object implements XFileAccessor
The XFileAccessor interface is implemented by filesystems that need to be accessed via the XFile API.- Version:
- 1.0, 04/08/98
- Author:
- Brent Callaghan
- See Also:
XFile
-
-
Constructor Summary
Constructors Constructor Description XFileAccessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canRead()
Tests if the application can read from the specified file.boolean
canWrite()
Tests if the application can write to this file.void
close()
Close the Streamsboolean
delete()
Deletes the file specified by this object.boolean
exists()
Tests if this XFileAccessor object exists.void
flush()
Forces any buffered output bytes to be written out.XFile
getXFile()
Get the XFile for this Accessorboolean
isDirectory()
Tests if the file represented by this XFileAccessor object is a directory.boolean
isFile()
Tests if the file represented by this object is a "normal" file.long
lastModified()
Returns the time that the file represented by thisXFile
object was last modified.long
length()
Returns the length of the file represented by this XFileAccessor object.java.lang.String[]
list()
Returns a list of the files in the directory specified by this XFileAccessor object.boolean
mkdir()
Creates a directory whose pathname is specified by this XFileAccessor object.boolean
mkfile()
Creates a file whose pathname is specified by this XFileAccessor object.boolean
open(XFile xf, boolean serial, boolean readOnly)
Open this file objectint
read(byte[] b, int off, int len, long foff)
Reads a subarray as a sequence of bytes.boolean
renameTo(XFile dest)
Renames the file specified by this XFileAccessor object to have the pathname given by the XFileAccessor object argument.java.lang.String
toString()
Returns a string representation of this object.void
write(byte[] b, int off, int len, long foff)
Writes a sub array as a sequence of bytes.
-
-
-
Method Detail
-
open
public boolean open(XFile xf, boolean serial, boolean readOnly)
Open this file object- Specified by:
open
in interfaceXFileAccessor
- Parameters:
xf
- the XFile for this fileserial
- true if serial accessreadOnly
- true if read only
-
getXFile
public XFile getXFile()
Get the XFile for this Accessor- Specified by:
getXFile
in interfaceXFileAccessor
- Returns:
- XFile for this object
-
exists
public boolean exists()
Tests if this XFileAccessor object exists.- Specified by:
exists
in interfaceXFileAccessor
- Returns:
true
if the file specified by this object exists;false
otherwise.
-
canWrite
public boolean canWrite()
Tests if the application can write to this file.- Specified by:
canWrite
in interfaceXFileAccessor
- Returns:
true
if the application is allowed to write to a file whose name is specified by this object;false
otherwise.
-
canRead
public boolean canRead()
Tests if the application can read from the specified file.- Specified by:
canRead
in interfaceXFileAccessor
- Returns:
true
if the file specified by this object exists and the application can read the file;false
otherwise.
-
isFile
public boolean isFile()
Tests if the file represented by this object is a "normal" file.A file is "normal" if it is not a directory and, in addition, satisfies other system-dependent criteria. Any non-directory file created by a Java application is guaranteed to be a normal file.
- Specified by:
isFile
in interfaceXFileAccessor
- Returns:
true
if the file specified by thisXFile
object exists and is a "normal" file;false
otherwise.
-
isDirectory
public boolean isDirectory()
Tests if the file represented by this XFileAccessor object is a directory.- Specified by:
isDirectory
in interfaceXFileAccessor
- Returns:
true
if this XFileAccessor object exists and is a directory;false
otherwise.
-
lastModified
public long lastModified()
Returns the time that the file represented by thisXFile
object was last modified.The return value is system dependent and should only be used to compare with other values returned by last modified. It should not be interpreted as an absolute time.
- Specified by:
lastModified
in interfaceXFileAccessor
- Returns:
- the time the file specified by this object was last
modified, or
0L
if the specified file does not exist.
-
length
public long length()
Returns the length of the file represented by this XFileAccessor object.- Specified by:
length
in interfaceXFileAccessor
- Returns:
- the length, in bytes, of the file specified by
this object, or
0L
if the specified file does not exist.
-
mkfile
public boolean mkfile()
Creates a file whose pathname is specified by this XFileAccessor object.- Specified by:
mkfile
in interfaceXFileAccessor
- Returns:
true
if the file could be created;false
otherwise.
-
mkdir
public boolean mkdir()
Creates a directory whose pathname is specified by this XFileAccessor object.- Specified by:
mkdir
in interfaceXFileAccessor
- Returns:
true
if the directory could be created;false
otherwise.
-
renameTo
public boolean renameTo(XFile dest)
Renames the file specified by this XFileAccessor object to have the pathname given by the XFileAccessor object argument.- Specified by:
renameTo
in interfaceXFileAccessor
- Parameters:
dest
- the new filename.- Returns:
true
if the renaming succeeds;false
otherwise.
-
list
public java.lang.String[] list()
Returns a list of the files in the directory specified by this XFileAccessor object.- Specified by:
list
in interfaceXFileAccessor
- Returns:
- an array of file names in the specified directory.
This list does not include the current directory or
the parent directory ("
.
" and "..
" on Unix systems).
-
delete
public boolean delete()
Deletes the file specified by this object. If the target file to be deleted is a directory, it must be empty for deletion to succeed.- Specified by:
delete
in interfaceXFileAccessor
- Returns:
true
if the file is successfully deleted;false
otherwise.
-
read
public int read(byte[] b, int off, int len, long foff) throws java.io.IOException
Reads a subarray as a sequence of bytes.- Specified by:
read
in interfaceXFileAccessor
- Parameters:
b
- the data to be writtenoff
- the start offset in the datalen
- the number of bytes that are writtenfoff
- the offset into the file- Returns:
- number of bytes read; -1 if EOF
- Throws:
java.io.IOException
- If an I/O error has occurred.
-
write
public void write(byte[] b, int off, int len, long foff) throws java.io.IOException
Writes a sub array as a sequence of bytes.- Specified by:
write
in interfaceXFileAccessor
- Parameters:
b
- the data to be writtenoff
- the start offset in the datalen
- the number of bytes that are writtenfoff
- the offset into the file- Throws:
java.io.IOException
- If an I/O error has occurred.
-
flush
public void flush() throws java.io.IOException
Forces any buffered output bytes to be written out.- Specified by:
flush
in interfaceXFileAccessor
- Throws:
java.io.IOException
- if an I/O error occurs.
-
close
public void close() throws java.io.IOException
Close the Streams- Specified by:
close
in interfaceXFileAccessor
- Throws:
java.io.IOException
- If an I/O error has occurred.
-
toString
public java.lang.String toString()
Returns a string representation of this object.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a string giving the pathname of this object.
-
-