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);