Methods Summary |
---|
public static java.lang.String | asciiFilenameToUnicode(java.lang.String str)Perform the reverse conversion of unicodeToAscii().
StringBuffer sbuf = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c == '%") {
int v = 0;
v <<= 4; v += hexValue(str.charAt(i+1));
v <<= 4; v += hexValue(str.charAt(i+2));
v <<= 4; v += hexValue(str.charAt(i+3));
v <<= 4; v += hexValue(str.charAt(i+4));
i += 4;
sbuf.append((char)(v & 0x0000ffff));
} else if (c == '#") {
// drop c
} else {
sbuf.append(c);
}
}
return sbuf.toString();
|
private static native long | availableStorage(int storageId)Gets the approximate number of free storage bytes remaining.
|
public synchronized void | delete(java.lang.String name)Remove a file from storage if it exists.
deleteStorage(name);
|
private static native void | deleteStorage(java.lang.String filename)Removes a file from storage.
|
public synchronized boolean | exists(java.lang.String name)Returns true if storage file name
exists.
return storageExists(name);
|
public long | getBytesAvailableForFiles(int storageId)Retrieves the approximate space available to grow or
create new storage files.
return availableStorage(storageId);
|
public static java.lang.String | getConfigRoot(int storageId)Returns the root to build configuration filenames including an needed
file separators, abstracting difference of the file systems
of development and device platforms. Note the root is never null.
if (configRoot == null) {
configRoot = initConfigRoot(storageId);
}
return configRoot;
|
public static java.lang.String | getStorageRoot(int storageId)Returns the root to build storage filenames including an needed
file separators, abstracting difference of the file systems
of development and device platforms. Note the root is never null.
if (storageRoot == null) {
storageRoot = initStorageRoot(storageId);
}
return storageRoot;
|
private static int | hexValue(char c)A utility method that convert a hex character 0-9a-f to the
numerical value represented by this hex char.
if (c >= '0" && c <= '9") {
return ((int)c) - '0";
} else {
return ((int)c) - 'a" + 10;
}
|
private static native java.lang.String | initConfigRoot(int storageId)Initializes the configuration root for this file instance.
|
private static native java.lang.String | initStorageRoot(int storageId)Initializes storage root for this file instance.
|
public synchronized void | rename(java.lang.String oldName, java.lang.String newName)Replaces the current name of storage, oldName
with newName .
renameStorage(oldName, newName);
|
private static native void | renameStorage(java.lang.String oldName, java.lang.String newName)Renames storage file.
|
private static native boolean | storageExists(java.lang.String filename)Determines if a storage file matching filename exists.
|
public static java.lang.String | unicodeToAsciiFilename(java.lang.String str)Convert a file name into a form that can be safely stored on
an ANSI-compatible file system. All characters that are not
[A-Za-z0-9] are converted into %uuuu, where uuuu is the hex
representation of the character's unicode value. Note even
though "_" is allowed it is converted because we use it for
for internal purposes. Potential file separators are converted
so the native layer does not have deal with sub-directory hierarchies.
StringBuffer sbuf = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if ((c >= 'a" && c <= 'z") ||
(c >= '0" && c <= '9")) {
sbuf.append(c);
} else if (c >= 'A" && c <= 'Z") {
sbuf.append('#");
sbuf.append(c);
} else {
int v = (int)(c & 0xffff);
sbuf.append('%");
sbuf.append(NUMS[(v & 0xf000) >> 12]);
sbuf.append(NUMS[(v & 0x0f00) >> 8]);
sbuf.append(NUMS[(v & 0x00f0) >> 4]);
sbuf.append(NUMS[(v & 0x000f) >> 0]);
}
}
return sbuf.toString();
|