home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win95 / sieciowe / hotja32.lzh / hotjava / doc / native / demo / outputfile.java < prev   
Text File  |  1995-05-19  |  2KB  |  91 lines

  1. /*
  2.  * Copyright (c) 1994, 1995 by Sun Microsystems, Inc.
  3.  * All Rights Reserved.
  4.  *
  5.  * @(#)OutputFile.java 95/01/31 1.3
  6.  *
  7.  * December 1994, Eugene Kuerner
  8.  *
  9.  * This file defines class OutputFile which implementa a write only
  10.  * output file abstraction.  Like class InputFile, class OutputFile
  11.  * subclasses of class File to obtain simple file and path name
  12.  * functions.
  13.  *
  14.  * @version     1.0, 01 Dec 1994
  15.  * @author    Eugene Kuerner
  16.  *
  17.  */
  18.  
  19.  
  20. /*
  21.  * Because we depend on native code to implement some of the methods
  22.  * in this class, we need to refer to the system's Linker object.
  23.  *
  24.  */
  25. import java.util.Linker;
  26.  
  27.  
  28. /*
  29.  * Associate this class with classes File and InputFile (already part
  30.  * of package demo) into package demo.
  31.  *
  32.  */
  33. package demo;
  34.  
  35.  
  36. /**
  37.  * This class defines a simple writeonly file by extending class File.
  38.  *
  39.  */
  40. public
  41. class OutputFile extends File {
  42.  
  43.     /**
  44.      * Link in the native library that this class depends on.  We
  45.      * bind this class loading to the library loading by making the
  46.      * Linker.loadLibrary() call part of the static initializer for
  47.      * the class.  That is, if the loadLibary() call fails this class
  48.      * fails to load.
  49.      *
  50.      */
  51.     static {
  52.         Linker.loadLibrary("file");
  53.     }
  54.  
  55.     /**
  56.      * Holds the system dependent handle to the file resource.
  57.      *
  58.      */
  59.     protected int fd;
  60.  
  61.     /**
  62.      * Constructor for the output file object.  Initializes the
  63.      * parent class with the path name.
  64.      *
  65.      */
  66.     public OutputFile(String path) {
  67.     super(path);
  68.     }
  69.  
  70.     /**
  71.      * Attempts to open the file for writing.  If the file does not
  72.      * exist one is created.  Returns TRUE on success and FALSE on 
  73.      * failure.
  74.      *
  75.      */
  76.     public native boolean open();
  77.  
  78.     /**
  79.      * Attempts to close the previously opened file.  Has
  80.      * no return value.
  81.      */
  82.     public native void close();
  83.  
  84.     /**
  85.      * Writes some number of bytes to the opened file.  Returns
  86.      * the number of bytes written.
  87.      *
  88.      */
  89.     public native int write(byte b[], int len);
  90. }
  91.