www.pudn.com > jnp-src.rar > FingerURLConnection.java
/*
* Java Network Programming, Second Edition
* Merlin Hughes, Michael Shoffner, Derek Hamner
* Manning Publications Company; ISBN 188477749X
*
* http://nitric.com/jnp/
*
* Copyright (c) 1997-1999 Merlin Hughes, Michael Shoffner, Derek Hamner;
* all rights reserved; see license.txt for details.
*/
import java.io.*;
import java.net.*;
import java.util.*;
public class FingerURLConnection extends URLConnection {
public FingerURLConnection (URL url) {
super (url);
}
protected InputStream in;
public synchronized void connect () throws IOException {
if (!connected) {
StringBuffer query = new StringBuffer ();
String file = url.getFile ().substring (1);
StringTokenizer files = new StringTokenizer (file, "/", true);
while (files.hasMoreTokens ())
query.insert (0, files.nextToken ().replace ('/', '@'));
Finger finger = new Finger
(query.toString (), url.getHost (),
url.getPort (), "verbose".equalsIgnoreCase (url.getRef ()));
Reader reader = finger.finger ();
in = new ReaderInputStream (reader, "latin1");
connected = true;
}
}
public InputStream getInputStream () throws IOException {
connect ();
return in;
}
public String getContentType () {
return "text/plain";
}
}