The list below contains additional notes:
Escaped and unescaped URI forms are accepted as input unless stated otherwise. The output full or partial URI is unescaped unless stated otherwise. The methods that take a full or partial URI:
Connector.open("file://...")
FileConnection.setFileConnection(String fileName)
FileConnection.rename(String newName)
Connector.open
accepts both escaped and
unescaped URI forms. The FileConnection.setFileConnection()
operation does not unescape URIs because the argument must be one
of the values returned by the FileConnection.list()
operation, which returns unescaped forms. This means that FileConnection.setFileConnection()
cannot be used to open
files with names that contain special characters such as "My%20Doc.txt".
Nothing is specified for the FileConnection.rename()
operation, so it must accept both forms. The methods that return
a full or partial URL (one or more):
String FileConnection.getName()
String FileConnection.getPath()
String FileConnection.getURL()
java.util.Enumeration FileConnection.list()
java.util.Enumeration FileConnection.list(String
filter, boolean includeHidden)
Of these getName()
and getPath()
operations return unescaped forms, but the getURL()
operation returns the escaped form, as specified. Since nothing
is stated for the list()
methods, they return
unescaped forms.
READ_WRITE and WRITE connections can be established to the
read-only file and directory. This is needed because otherwise changing
the file/directory to writable is not possible through a File API
interface since the setWritable()
operation needs
either a READ_WRITE or WRITE connection mode. The following methods
can be called in the "write mode to read-only file" mode: setWritable()
and setHidden()
. IOException
is thrown if other methods, which need a WRITE
connection mode, are called in the "write mode to read-only file"
mode. Note: setHidden()
and setWritable()
operations close automatically an open InputStream
.
File API accepts only “localhost” or “” as a host in the file
URI. That is, valid URIs start with file://localhost/
or file:///
.
“/” character at the end of the URI is not mandatory if a connection
has been established to the directory. In case of an existing file/dir,
the implementation first searches whether a file by that name exists
and after that it searches for a directory by that name. In case of
a new file/dir, the user defines by calling create()
or mkdir()
operations whether a file or a directory
is created. Note: If URI ends to the “/” character then calling create()
operation causes IOException
.