From 55777f44dc0d8d3cbc49969966313dc902bdb24a Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Fri, 23 Jan 2004 13:50:10 +0000 Subject: [PATCH] 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/ChangeLog | 16 +++++ libjava/java/io/FileDescriptor.java | 107 ++++++++++++++++++++-------- 2 files changed, 95 insertions(+), 28 deletions(-) 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: + *
    + *
  • r - Read Only + *
  • rw - Read / Write + *
  • ra - Read / Write - append to end of file + *
  • rws - Read / Write - synchronous writes of data/metadata + *
  • 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(); + } } -- 2.30.2