View Javadoc

1   /* Copyright (C) 2003 Internet Archive.
2    *
3    * This file is part of the Heritrix web crawler (crawler.archive.org).
4    *
5    * Heritrix is free software; you can redistribute it and/or modify
6    * it under the terms of the GNU Lesser Public License as published by
7    * the Free Software Foundation; either version 2.1 of the License, or
8    * any later version.
9    *
10   * Heritrix is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   * GNU Lesser Public License for more details.
14   *
15   * You should have received a copy of the GNU Lesser Public License
16   * along with Heritrix; if not, write to the Free Software
17   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18   *
19   * RandomAccessOutputStream.java
20   * Created on May 21, 2004
21   *
22   * $Header$
23   */
24  package org.archive.io;
25  
26  import java.io.IOException;
27  import java.io.OutputStream;
28  import java.io.RandomAccessFile;
29  
30  
31  /***
32   * Wraps a RandomAccessFile with OutputStream interface.
33   *
34   * @author gojomo
35   */
36  public class RandomAccessOutputStream extends OutputStream {
37      RandomAccessFile raf;
38  
39      /***
40       * Wrap the given RandomAccessFile
41       */
42      public RandomAccessOutputStream(RandomAccessFile raf) {
43          super();
44          this.raf = raf;
45      }
46  
47      /* (non-Javadoc)
48       * @see java.io.OutputStream#write(int)
49       */
50      public void write(int b) throws IOException {
51          raf.write(b);
52      }
53  
54      /* (non-Javadoc)
55       * @see java.io.OutputStream#close()
56       */
57      public void close() throws IOException {
58          raf.close();
59      }
60  
61      /* (non-Javadoc)
62       * @see java.io.OutputStream#write(byte[], int, int)
63       */
64      public void write(byte[] b, int off, int len) throws IOException {
65          raf.write(b, off, len);
66      }
67  
68      /* (non-Javadoc)
69       * @see java.io.OutputStream#write(byte[])
70       */
71      public void write(byte[] b) throws IOException {
72          raf.write(b);
73      }
74  }