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.

Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved.