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

  1. /*
  2.  * Copyright (c) 1994, 1995 by Sun Microsystems, Inc.
  3.  * All Rights Reserved.
  4.  *
  5.  * @(#)Replace.java 95/02/22 1.4
  6.  *
  7.  * December 1994, Eugene Kuerner
  8.  */
  9.  
  10. import demo.*;
  11.  
  12. /**
  13.  * This file defines the main test program which instantiates some
  14.  * file objects and then exercises some of their methods.  The
  15.  * example implements a Replace object that substitutes one character
  16.  * in the input stream with another character.  Both caracters are
  17.  * supplied as arguments to the Replace example.
  18.  *
  19.  * @version     1.0, 05 Dec 1994
  20.  * @author    Eugene Kuerner
  21.  *
  22.  */
  23.  
  24. class Replace {
  25.  
  26.     public static void Usage() {
  27.     System.out.println("\nUsage:  java Replace char1 char2 inFile outFile");
  28.     }
  29.  
  30.     public static void main(String args[]) {
  31.     InputFile    in = null;
  32.         OutputFile    out = null;
  33.         char        former = 'A';
  34.         char        latter = 'A';
  35.        byte        buf[];
  36.  
  37.     try {
  38.            former = args[0].charAt(0);
  39.     } 
  40.         catch (ArrayIndexOutOfBoundsException e) {
  41.         Usage();
  42.         System.out.println("you must supply the character to replace\n");
  43.         System.exit(-1);
  44.     }
  45.  
  46.     try {
  47.            latter = args[1].charAt(0);
  48.     } 
  49.         catch (ArrayIndexOutOfBoundsException e) {
  50.         Usage();
  51.         System.out.println("you must supply the new character\n");
  52.         System.exit(-1);
  53.     }
  54.  
  55.     try {
  56.         in = new InputFile(args[2]);
  57.     } 
  58.         catch (ArrayIndexOutOfBoundsException e) {
  59.         Usage();
  60.         System.out.println("you must supply the input replacement file\n");
  61.         System.exit(-1);
  62.     }
  63.         catch (UnsatisfiedLinkException e) {
  64.         System.out.println("can't find your library");
  65.         System.exit(-1);
  66.     }
  67.  
  68.     try {
  69.         out = new OutputFile(args[3]);
  70.     } 
  71.         catch (ArrayIndexOutOfBoundsException e) {
  72.         Usage();
  73.         System.out.println("you must supply the output replacement file\n");
  74.         System.exit(-1);
  75.     }
  76.         catch (UnsatisfiedLinkException e) {
  77.         System.out.println("can't find your library");
  78.         System.exit(-1);
  79.     }
  80.  
  81.     System.out.println("Replacing "+args[0]+" with "+args[1]+" from "+
  82.                args[2]+" to "+args[3]);
  83.  
  84.     if (in.open() == false) {
  85.         System.out.println("Unable to open input file "+in.getFileName());
  86.     }
  87.  
  88.     if (out.open() == false) {
  89.         System.out.println("Unable to open output file "+out.getFileName());
  90.     }
  91.  
  92.     buf = new byte[1];
  93.     while (in.read(buf, 1) == 1) {
  94.         if (buf[0] == former)
  95.         buf[0] = (byte)latter;
  96.         if (out.write(buf, 1) != 1) {
  97.         System.out.println("Error writing to "+out.getFileName());
  98.         }
  99.     }
  100.      in.close();
  101.      out.close();
  102.     }
  103. }
  104.