import java.nio.*;
import java.nio.channels.*;
import java.nio.charset.*;
import java.io.*;

String data = "friends.dat";
FileInputStream inData = new FileInputStream(data);
FileChannel inChannel = inData.getChannel();
long inSize = inChannel.size();
ByteBuffer source = ByteBuffer.allocate( (int)inSize );
inChannel.read(source, 0);
source.position(0);

source.get()
source.position(0);
Charset ascii = Charset.forName("US-ASCII");
CharsetDecoder toAscii = ascii.newDecoder();
CharBuffer destination = toAscii.decode(source);
destination.position(0);
FileNotFoundException fne

2Finger.java

import java.io.*;
import java.net.*;
import java.util.*;

StringTokenizer split = new StringTokenizer(arguments[0],
user = split.nextToken();
host = split.nextToken();
Socket digit = new Socket(host, 79)
digit.setSoTimeout(20000);
PrintStream out = new PrintStream(digit.getOutputStream());
out.print(user + "\015\012");
BufferedReader in = new BufferedReader(
new InputStreamReader(digit.getInputStream()));
boolean eof = false;
3.

import java.io.*;
import java.net.*;
import java.util.Random;

public class FingerServer extends Thread {
private ServerSocket sock;

public FingerServer() {
super("Finger Server");
sock = new ServerSocket(79);
Socket client = null;
client = sock.accept();

InputStreamReader isr = new InputStreamReader(
client.getInputStream());
BufferedReader is = new BufferedReader(isr);
PrintWriter os = new PrintWriter(new
BufferedOutputStream(client.getOutputStream()), false);
String outLine = null;

// Output server greeting
os.println("*** Finger Server");
os.flush();

String inLine = is.readLine();
if (inLine.length() > 0)
outLine = inLine;
readPlan(outLine, os);
e.printStackTrace();
FingerServer server = new FingerServer();
server.start();
LoadURL.java

import java.nio.*;
import java.nio.channels.*;
import java.nio.charset.*;
import java.io.*;
import java.net.*;
import java.util.*;

SocketChannel sock = null;
URL url = new URL(urlRequest);

URL url = new URL(urlRequest);
String host = url.getHost();
String page = url.getPath();
InetSocketAddress address = new InetSocketAddress(host, 80);
Charset iso = Charset.forName("ISO-8859-1");
CharsetDecoder decoder = iso.newDecoder();
CharsetEncoder encoder = iso.newEncoder();

ByteBuffer byteData = ByteBuffer.allocate(16384);
CharBuffer charData = CharBuffer.allocate(16384);

sock = SocketChannel.open();
sock.configureBlocking(false);
sock.connect(address);


Selector listen = Selector.open();
sock.register(listen, SelectionKey.OP_CONNECT +
SelectionKey.OP_READ);


while (listen.select(500) > 0) {
Set keys = listen.selectedKeys();
Iterator i = keys.iterator();
i.hasNext()
key.isConnectable())
CharBuffer httpReq = CharBuffer.wrap(
"GET " + page + "\n\r\n\r");
ByteBuffer request = encoder.encode(httpReq);
keySock.write(request);
keySock.read(byteData);
byteData.flip();
charData = decoder.decode(byteData);


RandomWeb.java

import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class RandomWeb extends JApplet implements ActionListener

WebButton choices = new WebButton[10];

public void init() {
FlowLayout flo = new FlowLayout();
getContentPane().setLayout(flo);
double tempValue = Math.random() * 26 - 1;
int randomNumber = (int) Math.floor( tempValue ) + 1;
int firstLetter = (int)'a';
WebButton clicked = (WebButton)evt.getSource();
URL load = new URL(clicked.address);
getAppletContext().showDocument(load);

TimeServer.java
import java.io.*;
import java.net.*;
import java.util.*;

ServerSocket sock;
sock.accept();

WebMenu.java
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class WebMenu extends JApplet implements ActionListener {
WebButton choices = new WebButton[3];
FlowLayout flo = new FlowLayout();
Container pane = getContentPane();
pane.setLayout(flo);
URL load = new URL(clicked.address);
getAppletContext().showDocument(load);