Java I/O and over one million other books are available for Amazon Kindle. Learn more
CDN$ 59.80
  • List Price: CDN$ 74.99
  • You Save: CDN$ 15.19 (20%)
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.ca.
Gift-wrap available.
Quantity:1
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Java I/O Paperback – May 26 2006


See all 4 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
Paperback
"Please retry"
CDN$ 59.80
CDN$ 49.51 CDN$ 54.47

2014 Books Gift Guide
Yes Please, the eagerly anticipated first book from Amy Poehler, the Golden Globe winning star of Parks and Recreation, is featured in our 2014 Books Gift Guide. More gift ideas

Special Offers and Product Promotions

  • Join Amazon Student in Canada


Customers Who Bought This Item Also Bought



Product Details

  • Paperback: 728 pages
  • Publisher: O'Reilly Media; Second Edition edition (May 26 2006)
  • Language: English
  • ISBN-10: 0596527500
  • ISBN-13: 978-0596527501
  • Product Dimensions: 17.8 x 4.1 x 23.3 cm
  • Shipping Weight: 1.1 Kg
  • Average Customer Review: 3.7 out of 5 stars  See all reviews (23 customer reviews)
  • Amazon Bestsellers Rank: #359,877 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Product Description

From Amazon

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 --This text refers to an out of print or unavailable edition of this title.

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 --This text refers to an out of print or unavailable edition of this title.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Customer Reviews

3.7 out of 5 stars

Most helpful customer reviews

By CG9685 on March 21 2001
Format: Paperback
First of all, this is not a reference, it explains the organization behind the I/O Library. If you are looking for a reference book to locate answers in under a minute this ISN'T the book for you, instead get 'Java in a Nutshell'. Second of all, this book helps you to learn the I/O classes by constructing a program that you modify throughout the book. If that will annoy you, don't get this book. Overall, I think this is a great book! It was well worth the investment. I had previously encountered I/O documentation in more broadly scoped Java books such as, Beginning Java, in other words not much detail. This book, however, blew me away with its detail, but it is presented in a very down to earth manner. In other words, you don't have to be a rocket scientist to understand what's going on. This book will take you from the top of the I/O class hierarchy and move you down into the specialized sub-classes. All the while explaining to you what each of the classes does and like I said before, a lot of supporting details. Best of all, this book helps you understand I/O by showing you how Sun logically organized the I/O Library. By the time you've finished the book it's much easier to understand how all of the classes come together to offer powerful I/O support. Before I read this book when I looked at the inheritance tree for the I/O Library my reponse was like "you've got to be kidding me! I'll never be able to get all of this down!". But after finishing this book I am in no way intimidated or confused by the I/O classes. Good luck!
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Paperback
The basis of Java is to make hard things easy and easy things impossible. And among one of these impossibilites is standard I/O.
After having tried almost every single I/O class in Java and having been only able to get FileReader and FileWriter to work successfully, I decided to buy this book. I was afraid that I would get it and it would be so technical that only people who wear pocket protectors as their standard gear would be able to read it, but this was not a problem. Mr. Harrold was perfectly willing to lay everything out just as clearly as was physically possible, while at the same time still giving an equal amount of importance to examples.
Other reviewers seem to have viewed this as a weakness in the book, but personally, I would say that having an extra 50% percent of stuff you will never need is better than only having half of what is necessary to accomplish anything.
Due to my having bought this book, in the last month I have gone from basic file reading and writing, building my own file reader with a readLine() method of my own make since Sun's is buggy, to internet connections to having most recently written a proxy that logs all events that go on in my internet browser by concurrently handling six I/O operations(an in from the internet to two outs to my browser and log file, and an in from my browser to the two outs of the internet and my log file.) And I say this not to boast my prowess, but to show you just how valuable this book is to anyone who will be doing any Java programming that involves I/O.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Paperback
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.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Paperback
I'm a C++ programmer that has given himself a crash-course in Java for a project at work. If I had this book earlier, I would have gotten things done a lot faster. Every programmer should be familiar with input and output streams, but how many can say they know the in's and out's of Java's cryptographic streams and piped streams? If asked, could you tell the difference between a BufferedWriter and a PrintWriter? I had to use three books to accumulate the knowledge I could have gained by just reading this one book. If you are a beginning or intermediate Java programmer, don't assume you know everything about Java I/O and what it can do; check out the pearls of wisdom in this book. Needless to say, now I'm writing much better I/O-related Java code because of it, and I believe you will too.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.

Most recent customer reviews



Feedback