From 55777f44dc0d8d3cbc49969966313dc902bdb24a Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Fri, 23 Jan 2004 13:50:10 +0000 Subject: 2004-01-23 Michael Koch * 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 --- libjava/java/io/FileDescriptor.java | 107 ++++++++++++++++++++++++++---------- 1 file changed, 79 insertions(+), 28 deletions(-) (limited to 'libjava/java/io') 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 + * FileDescriptor + * 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 true if this object represents a valid + * native file handle, false otherwise + */ + public native boolean valid(); + + /** + * Opens the specified file in the specified mode. This can be done + * in one of the specified modes: + *