NIO and NIO.2 Examples
The examples in the following table show how to use the NIO APIs.Source File | Description |
---|---|
Grep.java |
Searches a list of files for lines that match a given regular-expression pattern. Demonstrates NIO mapped byte buffers, charsets, and regular expressions. |
Sum.java |
Computes 16-bit checksums for a list of files. Uses NIO mapped byte buffers for speed. |
TimeQuery.java |
Asks a list of hosts what time it is. Is a simple, blocking program that demonstrates NIO socket channels (connection and reading), buffer handling, charsets, and regular expressions. |
TimeServer.java |
Listens for connections and tells callers what time it is. Is a simple, blocking program that demonstrates NIO socket channels (accepting and writing), buffer handling, charsets, and regular expressions. |
Ping.java |
Connects to each of a list of hosts and measures the time required to complete the connection. Uses a selector and two additional threads to demonstrate non-blocking connects and the multithreaded use of a selector. |
NBTimeServer.java |
Implements a non-blocking Internet time server. |
The NIO.2 examples in the following table can be accessed in your JDK 7 installation under <JAVA_HOME>/sample/nio
.
Source File | Description |
---|---|
file/Chmod.java |
Changes the permissions of files in a manner similar to the chmod(1) utility. |
file/Copy.java |
Copies files in a manner similar to the cp(1) utility. |
file/DiskUsage.java |
Prints out disk space information similar to the df(1M) utility. |
file/FileType.java |
Prints out a file's type. |
file/WatchDir.java |
Watches a directory (or tree) for changes to files. |
file/Xdd.java |
Lists, gets, and deletes the user-defined attributes of a file. |
multicast/MulticastAdress.java |
Parses and represents a multicast address. |
multicast/Reader.java |
Reads a message from a multicast datagram. |
multicast/Sender.java |
Sends a message in a multicast datagram to a given group. |
server/README.txt |
This directory contains a simple NIO-based HTTP/HTTPS server example. See the README.txt file for further information. |