The Java Program: Finger.java

  1 // Finger.jar -- Connect to a machine (first arg) using finger protocol
  2 
  3 import java.net.Socket;
  4 import java.net.UnknownHostException;
  5 import java.io.PrintWriter;
  6 import java.io.BufferedReader;
  7 import java.io.InputStreamReader;
  8 import java.io.IOException;
  9 
 10 public class Finger {
 11 
 12    final static int port = 79;
 13 
 14    public static void main (String [] args) {
 15 
 16       final String hostname = args.length>0?args[0]:"localhost";
 17 
 18       try {
 19          final Socket          s = new Socket (hostname, port);
 20          final PrintWriter    pw = new PrintWriter (s.getOutputStream());
 21          final BufferedReader in = new BufferedReader (
 22             new InputStreamReader (s.getInputStream()));
 23 
 24          for (int i=1; i<args.length; i++) {
 25             pw.print (args[i]+ " ");
 26          }
 27          pw.print ("\r\n");
 28          pw.flush();
 29 
 30          for (;;) {
 31             final String line = in.readLine();
 32             if (line==null) break;
 33             System.out.println (line);
 34          }
 35     
 36          s.close();
 37       } catch (IOException e) {
 38          e.printStackTrace (System.err);
 39       }
 40    }
 41 }