Java I/O by Elliotte Harold - Presentation Transcript
Java I/O by Elliotte Harold
Great Book
Because it doesnt provide a printf() function like C/C++, some developers
think Java isnt up to snuff with files and streams. Author Rusty Harold
Elliotte argues against this notion in Java I/O, a book that shows how
Javas stream support can help simplify network programming,
internationalization, and even compression and encryption. The book
opens with an overview of Javas stream capabilities. (The author defends
Javas lack of support for console input/output (I/O) since todays
applications use graphical user interfaces anyway.) He shows how to
open, read, and write local files in Java applications. His file viewer
example presents data in a variety of formats. (This example is improved
several times until it winds up supporting different international character
sets by the end of the book.) Next the author covers network programming
using URL and network streams, including sockets. Sections on filters
show how classes can filter out characters within streams. The tour moves
forward to cover data streams, which permit streaming of Javas primitive
data types. Details on how to communicate within Java programs using
pipes follow. In a notable chapter, the author thoroughly explicates Javas
support for encryption, including hashing, the Data Encryption Standard
(DES) algorithm, and ciphers. The last portion of the book explains object
serialization, which allows Java objects to save and restore their state,
plus it includes sections on Javas support for data compression (and ZIP
files) and multilingual Unicode character sets. (Java is prepared to handle
virtually any of the worlds languages with its reader and writer classes.)
Finally, the author shows how you can format output in Java using its
support for width and numeric precision APIs. In all, Elliotte makes a good
case that Java streams are a flexible and powerful part of the language,
and certainly not a limitation. --Richard Dragan
Personal Review: Java I/O by Elliotte Harold
Not a fan of O'Reilly books, but this one stands out because of excellent
NIO coverage and topical examples. It beats the the "Java NIO" book from
O'Reilly hands down. Overall I'd say this book is geared for those who
want to implement but covers enough detail that it probably even soothes
the more 'academic' out there (those who talk a good show but do not build
real-world software).
Some highlights:
- You'll find good coverage of cryptographic I/O aimed at practical
implementation.
- Excellent NIO coverage (including basic network servers in sync and
async patterns)
- ZIP and JAR information including dynamic class loading
- Serial, USB and Bluetooth chapters (caveat: I don't use these but read
them out of curiousity)
- Detailed coverage of readers/writers
- And obviously good coverage of the basic java.io/net packages.
As of Septemebr 2006 I find the book topical and current (even had some
examples of future Java 6 code). To give you an idea of the detail offered
here, there is a whole chapter (37 pages) of information on File access
alone including pitfalls of cross-platform implementation. Not
reading/writing files...just the trappings of opening and accessing files and
directories using particular patterns, URLs, etc. The actual I/O is covered
in similar depth in other chapters.
I'd also like to say that I highly appreciate examples that are concise and
independant. There is nothing more frustrating than flipping to the middle
of a book (what we all do anyway) and going through an example...only to
find out that the author is using opaque references to classes and methods
he/she developed on their own in five earlier chapters (bouncycastle APIs
in Java Cryto for example). This pretty much makes quick-reference
difficult to impossible and this book thankfully avoids it in spades.
I give it five starts because it'll be well used in several projects and
because it is readable and accessible to both novice and advanced
developers alike.
For More 5 Star Customer Reviews and Lowest Price:
Java I/O by Elliotte Harold 5 Star Customer Reviews and Lowest Price!
Not a fan of O'Reilly books, but this one stands ou more
Not a fan of O'Reilly books, but this one stands out because of excellent NIO coverage and topical examples. It beats the the "Java NIO" book from O'Reilly hands down. Overall I'd say this book is geared for those who want to implement but covers enough detail that it probably even soothes the more 'academic' out there (those who talk a good show but do not build real-world software).
Some highlights:
- You'll find good coverage of cryptographic I/O aimed at practical implementation.
- Excellent NIO coverage (including basic network servers in sync and async patterns)
- ZIP and JAR information including dynamic class loading
- Serial, USB and Bluetooth chapters (caveat: I don't use these but read them out of curiousity)
- Detailed coverage of readers/writers
- And obviously good coverage of the basic java.io/net packages.
As of Septemebr 2006 I find the book topical and current (even had some examples of future Java 6 code). To give you an idea of the detail offered here, there is a whole chapter (37 pages) of information on File access alone including pitfalls of cross-platform implementation. Not reading/writing files...just the trappings of opening and accessing files and directories using particular patterns, URLs, etc. The actual I/O is covered in similar depth in other chapters.
I'd also like to say that I highly appreciate examples that are concise and independant. There is nothing more frustrating than flipping to the middle of a book (what we all do anyway) and going through an example...only to find out that the author is using opaque references to classes and methods he/she developed on their own in five earlier chapters (bouncycastle APIs in Java Cryto for example). This pretty much makes quick-reference difficult to impossible and this book thankfully avoids it in spades.
I give it five starts because it'll be well used in several projects and because it is readable and accessible to both novice and advanced developers alike. less
0 comments
Post a comment