]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2003�03-28 Michael Koch <konqueror@gmx.de>
authorMichael Koch <konqueror@gmx.de>
Fri, 28 Mar 2003 08:59:41 +0000 (08:59 +0000)
committerMichael Koch <mkoch@gcc.gnu.org>
Fri, 28 Mar 2003 08:59:41 +0000 (08:59 +0000)
* java/io/FileOutputStream.java:
Merged class documentation and authors with classpath.
(FileOutputStream): Partly merged with classpath.
(write): Merged with classpath.
(getChannel): Make it synchronized instead of explicit block in this
method.
* java/io/RandomAccessFile.java:
Merged class documentation and authors with classpath.

From-SVN: r64963

libjava/ChangeLog
libjava/java/io/FileOutputStream.java
libjava/java/io/RandomAccessFile.java

index 78f09cb3d4dd2696c4e25392b48724d422f92be0..97dc76fa32e5b85a5b0697b55d4bb9d3a0efd694 100644 (file)
@@ -1,3 +1,14 @@
+2003­03-28  Michael Koch  <konqueror@gmx.de>
+
+       * java/io/FileOutputStream.java:
+       Merged class documentation and authors with classpath.
+       (FileOutputStream): Partly merged with classpath.
+       (write): Merged with classpath.
+       (getChannel): Make it synchronized instead of explicit block in this
+       method.
+       * java/io/RandomAccessFile.java:
+       Merged class documentation and authors with classpath.
+
 2003-03-26  Tom Tromey  <tromey@redhat.com>
 
        * java/lang/natRuntime.cc (insertSystemProperties): Set
index c0f8b268c4c70c450d466c15e514237e5e151253..1c75ccd04cd6d151d554b3a7a9a271f1d22e1fd6 100644 (file)
@@ -47,8 +47,11 @@ import gnu.java.nio.FileChannelImpl;
  */
 
 /**
+ * This classes allows a stream of data to be written to a disk file or
+ * any open <code>FileDescriptor</code>.
+ *
+ * @author Aaron M. Renn <arenn@urbanophile.com>
  * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 1998 
  */
 public class FileOutputStream extends OutputStream
 {
@@ -174,9 +177,15 @@ public class FileOutputStream extends OutputStream
   public FileOutputStream (FileDescriptor fdObj)
     throws SecurityException
   {
+    // Hmm, no other exception but this one to throw, but if the descriptor
+    // isn't valid, we surely don't have "permission" to write to it.
+    if (!fdObj.valid())
+      throw new SecurityException("Invalid FileDescriptor");
+
     SecurityManager s = System.getSecurityManager();
     if (s != null)
       s.checkWrite(fdObj);
+
     fd = fdObj;
   }
 
@@ -221,9 +230,10 @@ public class FileOutputStream extends OutputStream
    *
    * @exception IOException If an error occurs
    */
-  public void write (byte[] b) throws IOException, NullPointerException
+  public void write (byte[] buf)
+    throws IOException
   {
-    fd.write (b, 0, b.length);
+    fd.write (buf, 0, buf.length);
   }
 
   /**
@@ -236,12 +246,15 @@ public class FileOutputStream extends OutputStream
    *
    * @exception IOException If an error occurs
    */
-  public void write (byte[] b, int off, int len)
-    throws IOException, NullPointerException, IndexOutOfBoundsException
+  public void write (byte[] buf, int offset, int len)
+    throws IOException
   {
-    if (off < 0 || len < 0 || off + len > b.length)
+    if (offset < 0
+        || len < 0
+        || offset + len > buf.length)
       throw new ArrayIndexOutOfBoundsException ();
-    fd.write (b, off, len);
+    
+    fd.write (buf, offset, len);
   }
 
   /**
@@ -263,15 +276,13 @@ public class FileOutputStream extends OutputStream
    * A file channel must be created by first creating an instance of
    * Input/Output/RandomAccessFile and invoking the getChannel() method on it.
    */
-  public FileChannel getChannel ()
+  public synchronized FileChannel getChannel() 
   {
-    synchronized (this)
-      {
-        if (ch == null)
-          ch = new FileChannelImpl (fd, true, this);
+    if (ch == null)
+      ch = new FileChannelImpl (fd, true, this);
 
-        return ch;
-      }
+    return ch;
   }
 
-}
+} // class FileOutputStream
+
index 91acb5d3d6cb77995867f8bfa615ced788395430..21838c5f0cc27226990df5d8f3a2527f3a2b4c1f 100644 (file)
@@ -41,16 +41,22 @@ package java.io;
 import java.nio.channels.FileChannel;
 import gnu.java.nio.FileChannelImpl;
 
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 25, 1998 
- */
-
 /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
  * "The Java Language Specification", ISBN 0-201-63451-1
  * Status: Believe complete and correct to 1.1.
  */
 
+/**
+ * This class allows reading and writing of files at random locations.
+ * Most Java I/O classes are either pure sequential input or output.  This
+ * class fulfills the need to be able to read the bytes of a file in an
+ * arbitrary order.  In addition, this class implements the
+ * <code>DataInput</code> and <code>DataOutput</code> interfaces to allow
+ * the reading and writing of Java primitives.
+ *
+ * @author Aaron M. Renn <arenn@urbanophile.com>
+ * @author Tom Tromey <tromey@cygnus.com>
+ */
 public class RandomAccessFile implements DataOutput, DataInput
 {