Free Sample
+ Collection

Java 7 New Features Cookbook

Richard M. Reese, Jennifer L. Reese

Get up to speed with Java 7 the easy, enjoyable way. With over 100 recipes, this Cookbook lets you explore and try out new features at your own pace. From language improvements to GUI creation, it’s all here.
RRP $23.99
RRP $39.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781849685627
Paperback384 pages

About This Book

  • Comprehensive coverage of the new features of Java 7 organized around easy-to-follow recipes
  • Covers exciting features such as the try-with-resources block, the monitoring of directory events, asynchronous IO and new GUI enhancements, and more
  • A learn-by-example based approach that focuses on key concepts to provide the foundation to solve real world problems

Who This Book Is For

This book is designed to bring those who are familiar with Java up-to-speed on the new features found in Java 7.

Table of Contents

Chapter 1: Java Language Improvements
Using string literals in switch statements
Using underscores in literals to improve code readability
Using the try-with-resources block to improve exception handling code
Creating a resource that can be used with the try-with-resources technique
Catching multiple exception types to improve type checking
Rethrowing exceptions in Java 7
Using the diamond operator for constructor type inference
Using the @SafeVarargs annotation
Chapter 2: Locating Files and Directories Using Paths
Creating a Path object
Interoperability between and java.nio.file.Files
Converting a relative path into an absolute path
Removing redundancies by normalizing a path
Combining paths using path resolution
Creating a path between two locations
Converting between path types
Determining whether two paths are equivalent
Managing symbolic links
Chapter 3: Obtaining File and Directory Information
Determining the file content type
Obtaining a single attribute at a time using the getAttribute method
Obtaining a map of file attributes
Getting file and directory information
Determining operating system support for attribute views
Maintaining basic file attributes using the BasicFileAttributeView
Maintaining POSIX file attributes using the PosixFileAttributeView
Maintaining FAT table attributes using the DosFileAttributeView
Maintaining file ownership attributes using the FileOwnerAttributeView
Maintaining a file's ACL using the AclFileAttributeView
Maintaining user-defined file attributes using the UserDefinedFileAttributeView
Chapter 4: Managing Files and Directories
Creating files and directories
Controlling how a file is copied
Managing temporary files and directories
Setting time-related attributes of a file or directory
Managing file ownership
Managing ACL file permissions
Managing POSIX attributes
Moving a file and a directory
Deleting files or directories
Managing symbolic links
Chapter 5: Managing Filesystems
Getting FileStore information
Getting Filesystem information
Using the SimpleFileVisitor class to traverse filesystems
Deleting a directory using the SimpleFileVisitor class
Copying a directory using the SimpleFileVisitor class
Processing the contents of a directory by using the DirectoryStream interface
Filtering a directory using globbing
Writing your own directory filter
Monitoring file events using WatchEvents
Understanding the ZIP filesystem provider
Chapter 6: Stream IO in Java 7
Managing simple files
Using buffered IO for files
Chapter 7: Graphical User Interface Improvements
Mixing heavyweight and lightweight components
Managing window types
Managing the opacity of a window
Creating a varying gradient translucent window
Managing the shape of a window
Using the new border types in Java 7
Handling multiple file selection in the FileDialog class
Controlling the print dialog box type
Using the new JLayer decorator for a password field
Chapter 8: Handling Events
Managing extra mouse buttons and high resolution mouse wheels
Controlling a focus when displaying a window
Using secondary loops to mimic modal dialog boxes
Handling spurious thread wakeups
Handling applet initialization status with event handlers
Chapter 9: Database, Security, and System Enhancements
Using the RowSetFactory class
Java 7 database enhancements
Using the ExtendedSSLSession interface
Using the platform MXBeans for JVM or system process load monitoring
Redirecting input and output from operating system's processes
Embedding a JNLP file in an HTML page
Chapter 10: Concurrent Processing
Using join/fork framework in Java
Using the reusable synchronization barrier Phaser
Using the new ConcurrentLinkedDeque safely with multiple threads
Using the new LinkedTransferQueue class
Supporting multiple threads using the ThreadLocalRandom class
Chapter 11: Odds and Ends
Handling weeks in Java 7
Using the Currency class in Java 7
Using the NumericShaper.Range enumeration to support the display of digits
JavaBean enhancements in Java 7
Handling locales and the Locale.Builder class in Java 7
Handling null references
Using the new BitSet methods in Java 7

What You Will Learn

  • Use new Java language improvements such as improved exception handling techniques and better support for literals
  • Manage files and directories using the new Path class for better control of file attributes and special files such as symbolic links
  • Manage file systems traversals and monitor directory and files changes
  • Perform asynchronous IO in Java 7 and treat a zip file as a file system to ease the use of zip files
  • Use the numerous Graphical User Interface improvements including window methods, the new JLayer class and various dialog box-related methods
  • Utilize improved access to mouse buttons and the mouse wheel along with additional event handling support
  • Master the new row set interfaces and control of the database schema
  • Use new techniques for interacting with operating system processes and improvement in SSL session support
  • Manage threads using the join/fork paradigm and use new data structures with threads
  • Incorporate numerous development techniques such as support for locale and currency and the ability to handle null pointers


In Detail

Java 7 is a major update that includes a lot of exciting new language improvements such as support for type inference and improved exception handling. Other new features include the ability to work with symbolic links, a greatly simplified directory traversal technique, and the monitoring of file creation and deletion. Improvements in event handling, security, and concurrent processing have also been added

Java 7 New Features Cookbook is your go-to guide to learn about all the new exciting features Java 7 has to offer with a very practical recipe-based approach.

The book starts with coverage of the new language improvements. Subsequent chapters address the new features of Java 7 while incorporating these new language improvements when possible.

The new NIO techniques provide enhanced capabilities which are complemented by the new try-with-resources block and enhanced generic support. The new JLayer decorator and improved window methods enhance the developer’s ability to create GUI applications.

The Java 7 New Features Cookbook provides a comprehensive coverage of the exciting features in Java 7.


Read More