|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
|
+--waba.io.Stream
|
+--waba.io.File
File is a file or directory.
The File class will work in Windows CE or in a Palm OS >= 3.5, containing
an expansion card. Use the isAvailable method to determine if the device
has or not support for file systems.
Note that in Palm OS, writing to a storage card can be slower than writing to the main memory.
Here is an example showing data being read from a file:
File file = new File("/temp/tempfile", File.READ_ONLY);
if (!file.isOpen())
return;
byte b[] = new byte[10];
file.readBytes(b, 0, 10);
file.close();
file = new File("/temp/tempfile", File.DONT_OPEN);
file.delete();
| Field Summary | |
static int |
ATTR_ARCHIVE
Used in the getAttributes and setAttributes method. |
static int |
ATTR_HIDDEN
Used in the getAttributes and setAttributes method. |
static int |
ATTR_READ_ONLY
Used in the getAttributes and setAttributes method. |
static int |
ATTR_SYSTEM
Used in the getAttributes and setAttributes method. |
static int |
CREATE
Create open mode. |
static int |
DONT_OPEN
Don't open the file mode. |
int |
lastError
On device, stores the last error. |
protected java.lang.String |
path
The path that represents this file |
static int |
READ_ONLY
Read-only open mode. |
static int |
READ_WRITE
Read-write open mode. |
static byte |
TIME_ACCESSED
Used in the getAttributes and setAttributes method. |
static byte |
TIME_ALL
Used in the setTime method, in parameter whichTime. |
static byte |
TIME_CREATED
Used in the getAttributes and setAttributes method. |
static byte |
TIME_MODIFIED
Used in the getAttributes and setAttributes method. |
static java.lang.String[] |
winceVols
These are the volumes that getCardVolume search to find the available one. |
static int |
WRITE_ONLY
Write-only open mode. |
| Constructor Summary | |
File(java.lang.String path)
Opens a file in DONT_OPEN mode. |
|
File(java.lang.String path,
int mode)
Opens a file with the given name and mode, in the last available card number (if Palm OS). |
|
File(java.lang.String path,
int mode,
int slot)
Opens a file with the given name, mode and in the given card number. |
|
| Method Summary | |
boolean |
close()
Closes the file. |
boolean |
createDir()
Creates a directory. |
boolean |
delete()
Deletes the file or directory. |
boolean |
exists()
Returns true if the file exists and false otherwise. |
void |
finalize()
Used by Jump. |
int |
getAttributes()
Gets this file attributes. |
static File |
getCardVolume()
Returns the volume File for the Windows CE and Pocket PC devices. |
java.lang.String |
getPath()
Return the file's path. |
int |
getSize()
Returns the size of the file in bytes. |
Time |
getTime(byte whichTime)
Gets the time for the given time type. |
static boolean |
isAvailable()
Returns true if a File System is available in the current PDA. |
static boolean |
isCardInserted(int slot)
Can be used to verify if a card is inserted into the given slot. |
boolean |
isDir()
Returns true if the file is a directory and false otherwise. |
boolean |
isOpen()
Returns true if the file is open for reading or writing and false otherwise. |
java.lang.String[] |
listFiles()
Lists the files contained in a directory. |
int |
readBytes(byte[] b,
int off,
int len)
Reads bytes from the file into a byte array. |
boolean |
rename(java.lang.String path)
Renames the file. |
void |
setAttributes(int attr)
Sets this file attributes. |
boolean |
setPos(int pos)
Sets the file pointer for read and write operations to the given position. |
void |
setTime(byte whichTime,
Time time)
Sets the time for the given time type. |
int |
writeBytes(byte[] b,
int off,
int len)
Writes to the file. |
| Methods inherited from class java.lang.Object |
clone,
equals,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
| Field Detail |
protected java.lang.String path
public int lastError
For Palm OS, the list of possible errors are described below:
| BufferOverflow | 10753 |
| FileGeneric | 10754 |
| FileBadRef | 10755 |
| FileStillOpen | 10756 |
| FilePermissionDenied | 10757 |
| FileAlreadyExists | 10758 |
| FileEOF | 10759 |
| FileNotFound | 10760 |
| VolumeBadRef | 10761 |
| VolumeStillMounted | 10762 |
| NoFileSystem | 10763 |
| BadData | 10764 |
| DirNotEmpty | 10765 |
| BadName | 10766 |
| VolumeFull | 10767 |
| Unimplemented | 10768 |
| NotADirectory | 10769 |
| IsADirectory | 10770 |
| DirectoryNotFound | 10771 |
| NameShortened | 10772 |
public static final int DONT_OPEN
public static final int READ_ONLY
public static final int WRITE_ONLY
public static final int READ_WRITE
public static final int CREATE
public static final byte TIME_ALL
public static final byte TIME_CREATED
public static final byte TIME_MODIFIED
public static final byte TIME_ACCESSED
public static final int ATTR_ARCHIVE
public static final int ATTR_HIDDEN
public static final int ATTR_READ_ONLY
public static final int ATTR_SYSTEM
public static java.lang.String[] winceVols
| Constructor Detail |
public File(java.lang.String path,
int mode,
int slot)
Note that the filename must not contain accentuated characters. Also, the slash / MUST be the path separator. Note also that some OSes may not allow the creation of files in the ROOT directory.
path - the file's pathmode - one of DONT_OPEN, READ_ONLY, WRITE_ONLY, READ_WRITE or CREATEslot - The slot number. This currently works only on Palm OS devices, because
other OSes use a different approach to specify the card. The number may be -1
to use the last available card, or a number between 0 and the number of cards
supported by the device. Some new Palm OS devices have slot 0 as the main
non-volatile memory, and 1 and so on for external memory cards. You can find the available slots using this code:
for (int i = 0; i < 255; i++)
if (File.isCardInserted(i))
add(new Label("found "+i),LEFT,AFTER); // Zire 22 returns 1 only
public File(java.lang.String path,
int mode)
Note that the filename must not contain accentuated characters. Also, the slash / MUST be the path separator. Note also that some OSes may not allow the creation of files in the ROOT directory.
path - the file's pathmode - one of DONT_OPEN, READ_ONLY, WRITE_ONLY, READ_WRITE or CREATEpublic File(java.lang.String path)
| Method Detail |
public static boolean isAvailable()
public static boolean isCardInserted(int slot)
slot - The slot number, or -1 to use the last slot number (which, in
most devices, will be the only slot available).public boolean close()
public boolean createDir()
public boolean delete()
public boolean exists()
public int getSize()
public java.lang.String getPath()
public boolean isDir()
public boolean isOpen()
public java.lang.String[] listFiles()
public int readBytes(byte[] b,
int off,
int len)
b - the byte array to read data intooff - the offset position in the arraylen - the number of bytes to readpublic boolean rename(java.lang.String path)
public boolean setPos(int pos)
throws IOError
file.setPos(file.getSize());Note: if you plan to change the file size using setPos, you must write something on the new size to effectively change the size. For example, in some devices if you call setPos and then read (assuming that the new pos is past the end of the file, the read method will fail. Here's a code that will change the size for sure:
private static byte[] zeros = new byte[4096];
public void setSize(int newSize)
{
int size = f.getSize();
f.setPos(newSize-1); // note: setPos(1) makes the file 2 bytes long (0, 1)
f.setPos(size);
for (int dif = newSize - size,n=0; dif > 0; dif -= n)
n = f.writeBytes(zeros, 0, dif > zeros.length ? zeros.length : dif);
}
public int writeBytes(byte[] b,
int off,
int len)
b - the byte array to write data fromoff - the offset position in the byte arraylen - the number of bytes to writepublic void setAttributes(int attr)
attr - one ore more ATTR_xxx constants ORed together. Values different from the ATTR_xxx constants are simply ignored.public int getAttributes()
public void setTime(byte whichTime,
Time time)
public Time getTime(byte whichTime)
public static File getCardVolume()
public void finalize()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||