diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 1ebfd305df8..4aba02a19d8 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,19 @@ +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. + 2004-01-23 Michael Koch * javax/swing/AbstractAction.java: Reformated. diff --git a/libjava/java/io/FileDescriptor.java b/libjava/java/io/FileDescriptor.java index c7fd6edbbec..b713e1bf688 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: + *