diff options
author | Michael Koch <konqueror@gmx.de> | 2004-01-23 13:50:10 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2004-01-23 13:50:10 +0000 |
commit | 55777f44dc0d8d3cbc49969966313dc902bdb24a (patch) | |
tree | 7df2c88dc90475080d05651a00f63cec85ba3236 /libjava/java | |
parent | 72613dfaa22b438aa161bad3a92e87984148ae0d (diff) | |
download | gcc-55777f44dc0d8d3cbc49969966313dc902bdb24a.zip gcc-55777f44dc0d8d3cbc49969966313dc902bdb24a.tar.gz gcc-55777f44dc0d8d3cbc49969966313dc902bdb24a.tar.bz2 |
2004-01-23 Michael Koch <konqueror@gmx.de>
* java/io/FileDescriptor.java
(sync): Moved around, added javadoc.
(valid): Likewise.
(open): Likewise.
(write): Likewise.
(close): Likewise.
(setLength): Likewise.
(seek): Likewise.
(getLength): Likewise.
(getFilePointer): Likewise.
(read): Likewise.
(available): Likewise.
(finalize): Likewise.
From-SVN: r76419
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/io/FileDescriptor.java | 107 |
1 files changed, 79 insertions, 28 deletions
diff --git a/libjava/java/io/FileDescriptor.java b/libjava/java/io/FileDescriptor.java index c7fd6ed..b713e1b 100644 --- a/libjava/java/io/FileDescriptor.java +++ b/libjava/java/io/FileDescriptor.java @@ -85,9 +85,6 @@ public final class FileDescriptor init(); } - public native void sync () throws SyncFailedException; - public native boolean valid (); - // These are WHENCE values for seek. static final int SET = 0; static final int CUR = 1; @@ -127,31 +124,6 @@ public final class FileDescriptor fd = open (path, mode); } - native int open (String path, int mode) throws FileNotFoundException; - native void write (int b) throws IOException; - native void write (byte[] b, int offset, int len) - throws IOException, NullPointerException, IndexOutOfBoundsException; - native void close () throws IOException; - native void setLength (long pos) throws IOException; - // EOF_TRUNC is true if a request to seek past the end of file - // should actually stop at the end of file. If false, then a seek - // past the end is ok (and if a subsequent write occurs the file - // will grow). - native int seek (long pos, int whence, boolean eof_trunc) throws IOException; - native long getLength () throws IOException; - native long getFilePointer () throws IOException; - native int read () throws IOException; - native int read (byte[] bytes, int offset, int len) throws IOException; - native int available () throws IOException; - - - // When collected, close. - protected void finalize () throws Throwable - { - if (valid ()) - close (); - } - // Attach to an already-opened file. This is not private because we // need access to it from other packages, for instance java.net. // Ordinarily that wouldn't work, either, but in our case we know @@ -162,5 +134,84 @@ public final class FileDescriptor fd = desc; } + /** + * This method forces all data that has not yet been physically written to + * the underlying storage medium associated with this + * <code>FileDescriptor</code> + * to be written out. This method will not return until all data has + * been fully written to the underlying device. If the device does not + * support this functionality or if an error occurs, then an exception + * will be thrown. + */ + public native void sync() throws SyncFailedException; + + /** + * This methods tests whether or not this object represents a valid open + * native file handle. + * + * @return <code>true</code> if this object represents a valid + * native file handle, <code>false</code> otherwise + */ + public native boolean valid(); + + /** + * Opens the specified file in the specified mode. This can be done + * in one of the specified modes: + * <ul> + * <li>r - Read Only + * <li>rw - Read / Write + * <li>ra - Read / Write - append to end of file + * <li>rws - Read / Write - synchronous writes of data/metadata + * <li>rwd - Read / Write - synchronous writes of data. + * + * @param path Name of the file to open + * @param mode Mode to open + * + * @exception IOException If an error occurs. + */ + native int open(String path, int mode) throws FileNotFoundException; + + /** + * Close the file descriptor. + */ + native void close() throws IOException; + /** + * Write oe byte of data. + */ + native void write(int b) throws IOException; + + /** + * Write data. + */ + native void write(byte[] b, int offset, int len) + throws IOException, NullPointerException, IndexOutOfBoundsException; + + /** + * Read one byte of data. + */ + native int read() throws IOException; + + /** + * Read data. + */ + native int read(byte[] bytes, int offset, int len) throws IOException; + native int available() throws IOException; + + // EOF_TRUNC is true if a request to seek past the end of file + // should actually stop at the end of file. If false, then a seek + // past the end is ok (and if a subsequent write occurs the file + // will grow). + native int seek(long pos, int whence, boolean eof_trunc) throws IOException; + + native long getFilePointer() throws IOException; + native long getLength() throws IOException; + native void setLength(long pos) throws IOException; + + // When collected, close. + protected void finalize() throws Throwable + { + if (valid()) + close(); + } } |