See buying choices for this item to see if it's one of the millions that are eligible for Amazon Prime.

42 used & new from $0.01

Have one to sell? Sell yours here
 
 
Java I/O (O'Reilly Java)
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get yours here.
 
  

Java I/O (O'Reilly Java) [ILLUSTRATED] (Paperback)

by Elliotte Rusty Harold (Author)
3.8 out of 5 stars See all reviews (29 customer reviews)


Available from these sellers.


8 new from $6.98 34 used from $0.01
Also Available in: List Price: Our Price: Other Offers:
Paperback (Bargain Price) 12 used & new from $3.45
Paperback (2) $49.99 $43.46 36 used & new from $36.98
There is a newer edition of this item:
Java I/O Java I/O 3.8 out of 5 stars (29)
$43.46
In Stock.
What Do Customers Ultimately Buy After Viewing This Item?
Java I/O (O'Reilly Java)
48% buy the item featured on this page:
Java I/O (O'Reilly Java) 3.8 out of 5 stars (29)
Head First Java, 2nd Edition
29% buy
Head First Java, 2nd Edition 4.4 out of 5 stars (241)
$29.67
Java NIO
10% buy
Java NIO 4.0 out of 5 stars (14)
$23.07
Java Network Programming, Third Edition
8% buy
Java Network Programming, Third Edition 3.8 out of 5 stars (35)
$26.37

Customers Who Bought This Item Also Bought

Java Network Programming, Third Edition

Java Network Programming, Third Edition

by Elliotte Harold
3.8 out of 5 stars (35)  $26.37
Java Generics and Collections

Java Generics and Collections

by Maurice Naftalin
4.6 out of 5 stars (23)  $23.09
Java NIO

Java NIO

by Ron Hitchens
4.0 out of 5 stars (14)  $23.07
Java Threads

Java Threads

by Scott Oaks
3.5 out of 5 stars (41)  $29.16
Effective Java (2nd Edition) (Java Series)

Effective Java (2nd Edition) (Java Series)

by Joshua Bloch
4.9 out of 5 stars (35)  $44.46
Explore similar items

Editorial Reviews

Amazon.com Review
Because it doesn't provide a printf() function like C/C++, some developers think Java isn't up to snuff with files and streams. Author Rusty Harold Elliotte argues against this notion in Java I/O, a book that shows how Java's stream support can help simplify network programming, internationalization, and even compression and encryption.

The book opens with an overview of Java's stream capabilities. (The author defends Java's lack of support for console input/output (I/O) since today's 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 Java's primitive data types. Details on how to communicate within Java programs using pipes follow. In a notable chapter, the author thoroughly explicates Java's 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 Java's support for data compression (and ZIP files) and multilingual Unicode character sets. (Java is prepared to handle virtually any of the world's 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

Review
'If I had to decide the best technical book ever read by me, this would be a real candidate. In my opinion a good programming book should limit itself to covering some well-defined part of its (usually) exhaustive topic. It should be easy to read with well-chose and short code-samples, especially for the critical parts and optionally, the code should grow throughout the chapters and evolve to full working programs at the end. This title fulfils it all... There aren't many illustrations throughout, but the reader will not miss them. The 'in-depth-notes' at strategic places are interesting and reveals a deep knowledge of the subject. So, if you want a fundamental understanding of streams, and data communication and /or a deep understanding of the Java I/O-model, buy it.' - Christer Loefving, Cvue, January 2000

See all Editorial Reviews


Product Details

  • Paperback: 596 pages
  • Publisher: O'Reilly Media, Inc.; 1st edition (March 16, 1999)
  • Language: English
  • ISBN-10: 1565924851
  • ISBN-13: 978-1565924857
  • Product Dimensions: 9.2 x 7.1 x 1.2 inches
  • Shipping Weight: 1.9 pounds
  • Average Customer Review: 3.8 out of 5 stars See all reviews (29 customer reviews)
  • Amazon.com Sales Rank: #912,309 in Books (See Bestsellers in Books)

Look Inside This Book

Citations (learn more)
3 books cite this book:

Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(3)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

29 Reviews
5 star:
 (15)
4 star:
 (5)
3 star:
 (2)
2 star:
 (2)
1 star:
 (5)
 
 
 
 
 
Average Customer Review
3.8 out of 5 stars (29 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
24 of 24 people found the following review helpful:
5.0 out of 5 stars Well-written, comprehensive treatment of the subject, April 16, 1999
By A Customer
This is an excellent book.

After jumping around and reading about a third of it, I was already recommending to some of the newer Java programmers around me to pick it up and get a solid understanding of proper I/O use in Java. I very much recommend this as any Java programmer's second book. Right after learning the language itself, this book should be read followed closely by other O'Reilly titles such as Java Threads and Java Network Programming. Those three books will give an in-depth understanding of the core Java API's for any new Java programmer, and will be of use to you no matter how you are using Java.

Even after three years as a Java developer, I have learned from this book. The author often presents algorithms in clear steps and follows those clear steps with a correct implementation. Because of this clear presentation, the chapter on compression left me for the first time with an understanding of not only how to use the java.util.zip.* classes but how they work. What I learned there in one reading is immediately applicable to what I am working on now. The sections on Files is full of tips on how to use them in a cross platform fashion. Every new Java programmer needs to read that chapter before their applications actually get used.

I was also impressed that several I/O classes missing in the standard library which I have only recently developed myself were presented as well. The StreamCopier and the TeeOutputStream are extremely useful classes that should be incorporated in some fashion into the base API. I wish I had them a long time ago. (A hint: you can also use the TeeOutputStream as a 'Traitor' to peek at your I/O while your program is running and without affecting its execution.) If I have any complaint about this book, it is that there are not more of these types of utilities presented for use by the advanced Java programmer. However, I haven't finished the book yet, so they may still be hidden there.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
12 of 12 people found the following review helpful:
5.0 out of 5 stars Great 2nd edition of a comprehensive book on Java I/O, May 23, 2006
By calvinnme "Texan refugee" (Fredericksburg, Va) - See all my reviews
(TOP 10 REVIEWER)      
This review is from: Java I/O (Paperback)
The first edition of Java I/O is now seven years old, and it is definitely time for a second edition considering all that has transpired. Note that the second edition was released in May 2006, so all reviews older than that are referring to the first edition. In this second edition there are basically eight entirely new chapters added to the original seventeen. It is probably worth the price of an upgrade especially if you are interested in Java I/O as it pertains to devices. I review this second edition in the context of comparing it to the first edition.

Chapters 1 through 5 are virtually the same.
Chapter six, "Filter Streams", has had one section - Print Streams - removed and had another section on the ProgressMonitorInputStream class added. ProgressMonitorInputStream is a unique filter stream hiding in the javax.swing package that displays progress bars that indicate how much of a stream has been read and how much remains to be read, and this book shows how to use it when reading unusually large files. The section on Print Streams that was removed from chapter six now has an entire chapter dedicated to it. This is because, starting in Java 5, the familiar PrintStream class has become a lot more powerful and interesting. Besides basic console output, it now provides extensive capabilities for formatting numbers and dates in a straightforward and easy fashion.

The chapters on data streams, streams in memory, and compressing streams are virtually unchanged from the first edition. However, the "Jar Files" section from the "compressing streams" chapter has been removed and now has an entire chapter dedicated to it. In this chapter, among other topics, the author explains the Pack200 compression format and evangelizes the increasingly popular technique of hiding noncode resources like images and data files inside JAR files. The two chapters on cryptographic streams and object serialization are basically the same as before, except that one section has been added on the JavaDoc in the serialization chapter.

The next section of the book, on New I/O, is completely new material and is comprised of three chapters. The java.nio packages provide nonblocking and memory-mapped I/O, and chapters 14 through 16 cover these powerful new abilities in depth. The new I/O model is based on channels and buffers instead of streams. This model doesn't replace traditional stream-based I/O for many uses. However, it is significantly faster in one important use case: servers that process many simultaneous clients.

The next two sections of the book, "The File System" and "Text", pretty much mimic chapters 12 through 16 of the first edition.

The final section of the book, "Devices", has almost completely new material. Some of the most exciting developments since the first edition have occurred in the world of small devices,in both peripherals such as GPS receivers that connect to a host computer and devices such as Palm Pilots that are themselves increasingly powerful computers. Treatment of both of these has been dramatically expanded in this edition. For those readers working with serial and parallel port devices, the Java Communications API chapter has been upgraded to version 3.0. However, in 2006 more and more devices use faster USB ports instead. Consequently, Chapter 23 covers the new Java USB API in depth. For smaller devices that can't quite run full Java but need to perform I/O nonetheless, J2ME offers the Generic Connection Framework (GCF). Chapter 24 covers this alternative to the traditional I/O framework. Finally, Chapter 25 uses the GCF to communicate over one of the newest I/O buses, the Bluetooth API used for wireless communications with a variety of peripherals.

I was very pleased with the first edition of this book, and I have an even higher recommendation for this second edition. There are clear descriptions of how to use the Java I/O classes as well as well-commented code examples for everything. However, if you are just recently coming from a C or C++ programming perspective, the Java I/O model is so different that it will likely be a shock no matter how good the teacher is, and Mr. Harold is an excellent one. I notice that Amazon does not show the table of contents, so I do that here:
Part PART I: Basic I/O
Chapter 1. Introducing I/O
Chapter 2. Output Streams
Chapter 3. Input Streams
Part PART II: Data Sources
Chapter 4. File Streams
Chapter 5. Network Streams
Part PART III: Filter Streams
Chapter 6. Filter Streams
Chapter 7. Print Streams
Chapter 8. Data Streams
Chapter 9. Streams in Memory
Chapter 10. Compressing Streams
Chapter 11. JAR Archives
Chapter 12. Cryptographic Streams
Chapter 13. Object Serialization
Part PART IV: New I/O
Chapter 14. Buffers
Chapter 15. Channels
Chapter 16. Nonblocking I/O
Part PART V: The File System
Chapter 17. Working with Files
Chapter 18. File Dialogs and Choosers
Part PART VI: Text
Chapter 19. Character Sets and Unicode
Chapter 20. Readers and Writers
Chapter 21. Formatted I/O with java.text
Part PART VII: Devices
Chapter 22. The Java Communications API
Chapter 23. USB
Chapter 24. The J2ME Generic Connection Framework
Chapter 25. Bluetooth
Part PART VIII: Appendix
Character Sets
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
10 of 10 people found the following review helpful:
5.0 out of 5 stars I finally understand Java I/O, December 29, 1999
By Thomas Almy (Tualatin, OR USA) - See all my reviews
(REAL NAME)   
I had been using Java without really comprehending Java's approach to I/O. Other books never really explained what was going on to the extent that I could ever trust myself to write I/O code without having a book open.

This book clearly explains the theory and practice of Java I/O, and all the various features. It's the second most valuable Java book I own (Java in a Nutshell being the most frequently used). The book has led me to trying out facilities (such as compression and number formatting) that I otherwise shunned because of poor descriptions.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars Great book
This is a great book, honestly I have using a lot of its know-how on my job.
My advise is that all reader should know the decorator pattern to understand better the class... Read more
Published 5 months ago by O. Salazar

4.0 out of 5 stars Java I/O
Thorough guide to the java.(n)io API. Less useful as a cookbook as the organization of the book follows the API rather than focusing on specific tasks (e.g. Read more
Published 15 months ago by Eric Jain

2.0 out of 5 stars Far better resources available
It covers a lot of topics but I did find it particularly helpful in any way. The idea of gathering all the information about I/O into one book to use as a single resource is nice,... Read more
Published on June 17, 2007 by Rajiv Krishnaswamy

5.0 out of 5 stars HAVE A CUP OF JAVA I/O!!
Howell do you know I/O? If you don't know it very well, then this book is for you. Author Elliote Rusty Harold, has done an outstanding job of writing a 2ndedition of a book that... Read more
Published on November 3, 2006 by John R. Vacca

5.0 out of 5 stars Pretty good coverage of NIO and practical crypto
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. Read more
Published on September 22, 2006 by Technical Reader

5.0 out of 5 stars Great reference for your file input/output logic...
[Review of 2nd edition]

Getting data into and out of files in your Java program can be painstaking when you consider all the variations... Read more
Published on September 10, 2006 by Thomas Duff

1.0 out of 5 stars Pass On This One
You'd probably do better following the tutorials on the Sun site.
Published on December 5, 2004 by KeepItSimple

1.0 out of 5 stars Shame O'Reilly, shame!
I picked up this book to cover multilingual charset issues, which are missing in all the standard Java resources but neatly listed in this title's contents/index. Read more
Published on October 1, 2002 by akira238

1.0 out of 5 stars I'd pass on this one.
This book does a fair job of covering the topic. I found it semi-useful. I would not recommend it however. Other books give you more value for the money. Read more
Published on November 24, 2001

1.0 out of 5 stars Once again, the author has made some terrible choices
This book covers Java I/O in a relatively competent fashion.

However, the author, Mr. Harold, chose to use his very popular website on the day of terror--September 11, 2001--to... Read more

Published on September 25, 2001

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]


Active discussions in related forums
  Discussion Replies Latest Post
C# or Java? 32 8 days ago
   


Product Information from the Amapedia Community

Beta (What's this?)


So You'd Like to...


Look for Similar Items by Category


Cut Grass like Butter

Shop all Oregon mower blades
Keep your lawn mower sharp and ready to go by replacing that old mower blade with an Oregon Gator mower blade. Choose from Gator Mulcher or Fusion blade technology designed to fit almost any lawn mower.

Shop all Oregon mower blades

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Summer Reading for Kids & Teens

Summer Reading for Kids and Teens
Discover everything from beach reads and board books to teen romance and action-adventure series in Summer Reading for Kids & Teens. And, check off the kids' required reading lists in our Summer School Reading Store.
 

Transition Through Seasons

Shop for Supplies to Winterize Your Home
Whether it's through insulation, caulking, or maintaining your furnace, winterizing will help your home stay warm in those chilly months.

Winterize your home now

 

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.



Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Paranoia
Paranoia by Joseph Finder
My Soul to Lose
My Soul to Lose by Rachel Vincent
Glenn Beck's Common Sense
Glenn Beck's Common Sense

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates