rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780596527501

Java I/o

by
  • ISBN13:

    9780596527501

  • ISBN10:

    0596527500

  • Edition: 2nd
  • Format: Paperback
  • Copyright: 2006-05-01
  • Publisher: Oreilly & Associates Inc

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $59.99 Save up to $19.50
  • Rent Book $40.49
    Add to Cart Free Shipping Icon Free Shipping

    TERM
    PRICE
    DUE
    USUALLY SHIPS IN 3-5 BUSINESS DAYS
    *This item is part of an exclusive publisher rental program and requires an additional convenience fee. This fee will be reflected in the shopping cart.

How To: Textbook Rental

Looking to rent a book? Rent Java I/o [ISBN: 9780596527501] for the semester, quarter, and short term or search our site for other textbooks by Harold, Elliote Rusty. Renting a textbook can save you up to 90% from the cost of buying.

Summary

The new edition of this steady-selling title provides Java developers with a complete introduction to I/O and the major API improvements introduced in the new 5.0 version of Java. Beginning with an overview of Java's stream capabilities, "Java I/O" shows readers how to open, read, and write local files in Java applications. Experienced Java author Elliotte Harold also covers network programming using URL and network streams, including sockets. In the sections on filters, readers will learn how classes can filter out characters within streams. More advanced material covers the Java encryption mechanism, including hashing, the Data Encryption Standard (DES) algorithm, and ciphers. Readers get a complete explanation of object serialization, which allows Java objects to save and restore their state, as well as details on Java's support for data compression (and ZIP files) and multilingual Unicode character sets. Finally, "Java I/O" shows programmers how to format output in Java using its support for width and numeric precision APIs. This book is a must for any serious Java developer.

Author Biography

Elliotte Rusty Harold is originally from New Orleans to which he returns periodically in search of a decent bowl of gumbo. However, he currently resides in the University Town Center neighborhood of Irvine with his wife Beth, dog Shayna, and cats Charm (named after the quark) and Marjorie (named after his mother-in-law). He's an adjunct professor of computer science at Polytechnic University where he teaches Java, XML, and object oriented programming. He's a frequent speaker at industry conferences including Software Development, Dr. Dobb's Architecure & Design World, SD Best Practices, Extreme Markup Languages, and too many user groups to count. His open source projects include the XOM Library for processing XML with Java and the Amateur media player.

Table of Contents

Preface xiii
Part I. Basic I/O
Introducing I/O
3(21)
What Is a Stream?
4(3)
Numeric Data
7(3)
Character Data
10(3)
Readers and Writers
13(2)
Buffers and Channels
15(1)
The Ubiquitous IOException
16(1)
The Console: System.out, System.in, and System.err
17(5)
Security Checks on I/O
22(2)
Output Streams
24(11)
Writing Bytes to Output Streams
25(1)
Writing Arrays of Bytes
26(1)
Closing Output Streams
27(2)
Flushing Output Streams
29(1)
Subclassing OutputStream
30(2)
A Graphical User Interface for Output Streams
32(3)
Input Streams
35(12)
The read() Method
35(2)
Reading Chunks of Data from a Stream
37(1)
Counting the Available Bytes
38(1)
Skipping Bytes
38(1)
Closing Input Streams
39(1)
Marking and Resetting
40(1)
Subclassing InputStream
41(1)
An Efficient Stream Copier
42(5)
Part II. Data Sources
File Streams
47(9)
Reading Files
47(3)
Writing Files
50(2)
File Viewer, Part 1
52(4)
Network Streams
56(17)
URLs
56(3)
URL Connections
59(2)
Sockets
61(3)
Server Sockets
64(4)
URL Viewer
68(5)
Part III. Filter Streams
Filter Streams
73(21)
The Filter Stream Classes
73(6)
The Filter Stream Subclasses
79(1)
Buffered Streams
80(2)
PushbackInputStream
82(1)
ProgressMonitorInputStream
83(3)
Multitarget Output Streams
86(1)
File Viewer, Part 2
87(7)
Print Streams
94(26)
Print Versus Write
95(3)
Line Breaks
98(1)
Error Handling
99(1)
printf( )
99(2)
Formatter
101(15)
Formattable
116(4)
Data Streams
120(29)
The Data Stream Classes
120(3)
Integers
123(5)
Floating-Point Numbers
128(2)
Booleans
130(1)
Byte Arrays
131(1)
Strings and chars
132(2)
Little-Endian Numbers
134(6)
Thread Safety
140(2)
File Viewer, Part 3
142(7)
Streams in Memory
149(9)
Sequence Input Streams
149(1)
Byte Array Streams
150(3)
Communicating Between Threads Using Piped Streams
153(5)
Compressing Streams
158(39)
Inflaters and Deflaters
159(12)
Compressing and Decompressing Streams
171(6)
Zip Files
177(13)
Checksums
190(4)
File Viewer, Part 4
194(3)
JAR Archives
197(23)
Meta-Information: Manifest Files and Signatures
198(1)
The jar Tool
199(1)
The java.util.jar Package
199(2)
JarFile
201(1)
JarEntry
202(1)
Attributes
202(3)
Manifest
205(2)
JarInputStream
207(1)
JarOutputStream
207(1)
JarURLConnection
208(2)
Pack200
210(7)
Reading Resources from JAR Files
217(3)
Cryptographic Streams
220(40)
Hash Functions
220(3)
The MessageDigest Class
223(7)
Digest Streams
230(4)
Encryption Basics
234(3)
The Cipher Class
237(13)
Cipher Streams
250(5)
File Viewer, Part 5
255(5)
Object Serialization
260(39)
Reading and Writing Objects
260(1)
Object Streams
261(2)
How Object Serialization Works
263(1)
Performance
264(1)
The Serializable Interface
265(5)
Versioning
270(3)
Customizing the Serialization Format
273(12)
Resolving Classes
285(1)
Resolving Objects
286(1)
Validation
287(3)
Sealed Objects
290(3)
JavaDoc
293(6)
Part IV. New I/O
Buffers
299(29)
Copying Files with Buffers
300(3)
Creating Buffers
303(2)
Buffer Layout
305(5)
Bulk Put and Get
310(1)
Absolute Put and Get
311(2)
Mark and Reset
313(1)
Compaction
313(2)
Duplication
315(1)
Slicing
316(2)
Typed Data
318(4)
Read-Only Buffers
322(1)
CharBuffers
323(1)
Memory-Mapped I/O
323(5)
Channels
328(26)
The Channel Interfaces
328(4)
File Channels
332(6)
Converting Between Streams and Channels
338(3)
Socket Channels
341(2)
Server Socket Channels
343(3)
Datagram Channels
346(8)
Nonblocking I/O
354(19)
Nonblocking I/O
355(4)
Selectable Channels
359(3)
Selectors
362(1)
Selection Keys
363(3)
Pipe Channels
366(7)
Part V. The File System
Working with Files
373(35)
Understanding Files
373(5)
Directories and Paths
378(4)
The File Class
382(20)
Filename Filters
402(1)
File Filters
403(1)
File Descriptors
404(1)
Random-Access Files
405(2)
General Techniques for Cross-Platform File Access Code
407(1)
File Dialogs and Choosers
408(37)
File Dialogs
408(6)
JFileChooser
414(23)
File Viewer, Part 6
437(8)
Part VI. Text
Character Sets and Unicode
445(20)
The Unicode Character Set
446(1)
UTF-16
447(1)
UTF-8
448(2)
Other Encodings
450(1)
Converting Between Byte Arrays and Strings
451(14)
Readers and Writers
465(41)
The java.io.Writer Class
466(1)
The OutputStreamWriter Class
467(3)
The java.io.Reader Class
470(1)
The InputStreamReader Class
471(3)
Encoding Heuristics
474(1)
Character Array Readers and Writers
475(3)
String Readers and Writers
478(2)
Reading and Writing Files
480(1)
Buffered Readers and Writers
481(6)
Print Writers
487(2)
Piped Readers and Writers
489(1)
Filtered Readers and Writers
490(5)
File Viewer Finis
495(11)
Formatted I/O with java.text
506(27)
The Old Way
507(1)
Choosing a Locale
508(2)
Number Formats
510(8)
Specifying Width with FieldPosition
518(4)
Parsing Input
522(3)
Decimal Formats
525(8)
Part VII. Devices
The Java Communications API
533(29)
The Architecture of the Java Communications API
533(1)
Identifying Ports
534(7)
Communicating with a Device on a Port
541(6)
Serial Ports
547(10)
Parallel Ports
557(5)
USB
562(40)
USB Architecture
563(1)
Finding Devices
564(2)
Controlling Devices
566(2)
Describing Devices
568(20)
Pipes
588(2)
IRPs
590(2)
Temperature Sensor Example
592(6)
Hot Plugging
598(4)
The J2ME Generic Connection Framework
602(37)
The Generic Connection Framework
604(5)
ContentConnection
609(2)
Files
611(8)
HTTP
619(8)
Serial I/O
627(3)
Sockets
630(1)
Server Sockets
631(2)
Datagrams
633(6)
Bluetooth
639(44)
The Bluetooth Protocol
639(5)
The Java Bluetooth API
644(2)
The Local Device
646(5)
Discovering Devices
651(4)
Remote Devices
655(1)
Service Records
656(12)
Talking to Devices
668(15)
Part VIII. Appendix
Appendix 683(4)
Index 687

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program