/[classpath]/classpath/gnu/java/net/protocol/file/FileURLConnection.java
ViewVC logotype

Diff of /classpath/gnu/java/net/protocol/file/FileURLConnection.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by mark, Fri Feb 15 15:24:00 2002 UTC revision 1.5 by nferrier, Tue Mar 19 13:51:53 2002 UTC
# Line 1  Line 1 
1  /* FileURLConnection.java -- URLConnection class for "file" protocol  /*
2     Copyright (C) 1998 Free Software Foundation, Inc.    FileURLConnection.java -- URLConnection class for "file" protocol
3      Copyright (C) 1998 Free Software Foundation, Inc.
4    
5  This file is part of GNU Classpath.    This file is part of GNU Classpath.
6    
7  GNU Classpath is free software; you can redistribute it and/or modify    GNU Classpath is free software; you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by    it under the terms of the GNU General Public License as published by
9  the Free Software Foundation; either version 2, or (at your option)    the Free Software Foundation; either version 2, or (at your option)
10  any later version.    any later version.
11    
12  GNU Classpath is distributed in the hope that it will be useful, but    GNU Classpath is distributed in the hope that it will be useful, but
13  WITHOUT ANY WARRANTY; without even the implied warranty of    WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  General Public License for more details.    General Public License for more details.
16    
17  You should have received a copy of the GNU General Public License    You should have received a copy of the GNU General Public License
18  along with GNU Classpath; see the file COPYING.  If not, write to the    along with GNU Classpath; see the file COPYING.  If not, write to the
19  Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA    Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
20  02111-1307 USA.    02111-1307 USA.
21    
22  Linking this library statically or dynamically with other modules is    Linking this library statically or dynamically with other modules is
23  making a combined work based on this library.  Thus, the terms and    making a combined work based on this library.  Thus, the terms and
24  conditions of the GNU General Public License cover the whole    conditions of the GNU General Public License cover the whole
25  combination.    combination.
26    
27  As a special exception, the copyright holders of this library give you    As a special exception, the copyright holders of this library give you
28  permission to link this library with independent modules to produce an    permission to link this library with independent modules to produce an
29  executable, regardless of the license terms of these independent    executable, regardless of the license terms of these independent
30  modules, and to copy and distribute the resulting executable under    modules, and to copy and distribute the resulting executable under
31  terms of your choice, provided that you also meet, for each linked    terms of your choice, provided that you also meet, for each linked
32  independent module, the terms and conditions of the license of that    independent module, the terms and conditions of the license of that
33  module.  An independent module is a module which is not derived from    module.  An independent module is a module which is not derived from
34  or based on this library.  If you modify this library, you may extend    or based on this library.  If you modify this library, you may extend
35  this exception to your version of the library, but you are not    this exception to your version of the library, but you are not
36  obligated to do so.  If you do not wish to do so, delete this    obligated to do so.  If you do not wish to do so, delete this
37  exception statement from your version. */    exception statement from your version.
38    */
   
39  package gnu.java.net.protocol.file;  package gnu.java.net.protocol.file;
40    
41    
42  /**  /**
43    * This subclass of java.net.URLConnection models a URLConnection via    * This subclass of java.net.URLConnection models a URLConnection via
44    * the "file" protocol.    * the "file" protocol.
# Line 47  package gnu.java.net.protocol.file; Line 48  package gnu.java.net.protocol.file;
48  public class FileURLConnection extends java.net.URLConnection  public class FileURLConnection extends java.net.URLConnection
49  {  {
50    
51  /*    /**
52   * Instance Variables     * This is a File object for this connection
53   */     */
54      private java.io.File file;
55  /**  
56    * This is a File object for this connection    /**
57    */     * InputStream if we are reading from the file
58  private java.io.File file;     */
59      private java.io.FileInputStream in_stream;
60  /**  
61    * InputStream if we are reading from the file    /**
62    */     * OutputStream if we are writing to the file
63  private java.io.FileInputStream in_stream;     */
64      private java.io.FileOutputStream out_stream;
65  /**  
66    * OutputStream if we are writing to the file    
67    */  
68  private java.io.FileOutputStream out_stream;    /**
69       * Calls superclass constructor to initialize.
70  /*************************************************************************/     */
71      protected FileURLConnection (java.net.URL url)
72  /*    {
73   * Constructors      super(url);
74   */      /* Set up some variables */
75        doOutput = false;
76  /**    }
   * Calls superclass constructor to initialize  
   */  
 protected  
 FileURLConnection(java.net.URL url)  
 {  
   super(url);  
   
   /* Set up some variables */  
   doOutput = false;  
 }  
   
 /*************************************************************************/  
 /*  
  * Instance Methods  
  */  
77    
78  /**    /**
79    * "Connects" to the file by opening it.     * "Connects" to the file by opening it.
80    */     */
81  public void    public void connect ()
82  connect() throws java.io.IOException      throws java.io.IOException
 {  
   if (!connected)  
83    {    {
84      file = new java.io.File(getURL().getFile());      file = new java.io.File(getURL().getFile());
     connected = true;  
85    }    }
 }  
   
 /*************************************************************************/  
   
 /**  
   * Opens the file for reading and returns a stream for it.  
   *  
   * @return An InputStream for this connection.  
   *  
   * @exception IOException If an error occurs  
   */  
 public java.io.InputStream  
 getInputStream() throws java.io.IOException  
 {  
   if (!connected)  
     connect();  
   
   in_stream = new java.io.FileInputStream(file);  
86    
87    return(in_stream);    /**
88  }     * Opens the file for reading and returns a stream for it.
89       *
90  /*************************************************************************/     * @return An InputStream for this connection.
91       *
92  /**     * @exception IOException If an error occurs
93    * Opens the file for writing and returns a stream for it.     */
94    *    public java.io.InputStream getInputStream ()
95    * @return An OutputStream for this connection.      throws java.io.IOException
96    *    {
97    * @exception IOException If an error occurs.      if (!connected)
98    */        connect();
99  public java.io.OutputStream      in_stream = new java.io.FileInputStream(file);
100  getOutputStream() throws java.io.IOException      return(in_stream);
101  {    }
   if (!connected)  
     connect();  
   
   out_stream = new java.io.FileOutputStream(file);  
102    
103    return(out_stream);    /**
104  }     * Opens the file for writing and returns a stream for it.
105       *
106       * @return An OutputStream for this connection.
107       *
108       * @exception IOException If an error occurs.
109       */
110      public java.io.OutputStream getOutputStream ()
111        throws java.io.IOException
112      {
113        if (!connected)
114          connect();
115        out_stream = new java.io.FileOutputStream(file);
116        return(out_stream);
117      }
118    
119  } // class FileURLConnection  } // class FileURLConnection
120    

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26