home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win95 / sieciowe / hotja32.lzh / hotjava / classsrc / net / www / protocol / file / handler.java
Text File  |  1995-08-11  |  2KB  |  56 lines

  1. /*
  2.  * @(#)Handler.java    1.16 95/03/22  
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19.  
  20. package net.www.protocol.file;
  21.  
  22. import java.io.*;
  23. import net.www.html.*;
  24.  
  25. /**
  26.  * Open an file input stream given a URL.
  27.  * @author    James Gosling
  28.  * @version     1.16, 22 Mar 1995
  29.  */
  30. public class Handler extends URLStreamHandler {
  31.     static String installDirectory;
  32.  
  33.     public synchronized InputStream openStream(URL u) {
  34.     String fn = u.file;
  35.     if (fn.endsWith("/")) {
  36.         u.setType(URL.content_html);
  37.         fn = fn + "index.html";
  38.     } else {
  39.         u.setType(formatFromName(u.file));
  40.     }
  41.  
  42.     fn = fn.replace('/', File.separatorChar);
  43.  
  44.     if (u.host.equals("~webrunner") || u.host.equals("~")) {
  45.         if (installDirectory == null) {
  46.         installDirectory = System.getenv("HOTJAVA_HOME");
  47.         if (installDirectory == null) {
  48.             installDirectory = "/usr/local/hotjava".replace('/', File.separatorChar);
  49.         }
  50.         }
  51.         fn = installDirectory + fn;
  52.     }
  53.     return new FileInputStream(fn);
  54.     }
  55. }
  56.