All of Java's Input/Output (I/O) facilities are based on streams, which provide simple ways to read and write data of different types. Java provides many different kinds of streams, each with its own application. The universe of streams is divided into four large
categories: input streams and output streams, for reading and writing binary data; and readers and writers, for reading and writing textual (character) data. You're almost certainly familiar with the basic kinds of streams--but did you know that there's a CipherInputStream for reading encrypted data? And a ZipOutputStream for automatically
compressing data? Do you know how to use buffered streams effectively to make your I/O operations more efficient? Java I/O, 2nd Edition has been updated for Java 5.0 APIs and tells you all you ever need to know about streams--and probably more.
A discussion of I/O wouldn't be complete without treatment of character sets and formatting. Java supports the Unicode standard, which provides definitions for the character sets of most written languages. Consequently, Java is the first programming language that lets you do I/O in virtually any language. Java also provides a sophisticated model for formatting textual and numeric data. Java I/O, 2nd Edition shows you how to control number formatting, use characters aside from the standard (but outdated) ASCII character set, and get a head start on writing truly multilingual software.
Java I/O, 2nd Edition includes:
* Coverage of all I/O classes and related classes
* In-depth coverage of Java's number formatting facilities and its support for international character sets
Sprache
Verlagsort
Zielgruppe
Für höhere Schule und Studium
Für Beruf und Forschung
Produkt-Hinweis
Broschur/Paperback
Klebebindung
Maße
Höhe: 236 mm
Breite: 179 mm
Dicke: 37 mm
Gewicht
ISBN-13
978-0-596-52750-1 (9780596527501)
Schweitzer Klassifikation
Elliotte Rusty Harold is a noted writer and programmer, both on and off the Internet. He started by writing FAQ lists for the Macintosh newsgroups on Usenet, and has since branched out into books, web sites, and newsletters. Elliotte resides in New York City with his wife Beth and cat Possum. When not writing about Java, he enjoys genealogy, mathematics, and quantum mechanics, and has been known to try to incorporate these subjects into his computer books (when he can slip them past his editors). His previous books include "Java Network Programming", Third Edition, "XML in a Nutshell", Third Edition, and "Java I/O", all from O'Reilly.
Inhaltsverzeichnis
Preface
Part I. Basic I/O
1. Introducing I/O
What Is a Stream?
Numeric Data
Character Data
Readers and Writers
Buffers and Channels
The Ubiquitous IOException
The Console: System.out, System.in, and System.err
Security Checks on I/O
2. Output Streams
Writing Bytes to Output Streams
Writing Arrays of Bytes
Closing Output Streams
Flushing Output Streams
Subclassing OutputStream
A Graphical User Interface for Output Streams
3. Input Streams
The read( ) Method
Reading Chunks of Data from a Stream
Counting the Available Bytes
Skipping Bytes
Closing Input Streams
Marking and Resetting
Subclassing InputStream
An Efficient Stream Copier
Part II. Data Sources
4. File Streams
Reading Files
Writing Files
File Viewer, Part 1
5. Network Streams
URLs
URL Connections
Sockets
Server Sockets
URLViewer
Part III. Filter Streams
6. Filter Streams
The Filter Stream Classes
The Filter Stream Subclasses
Buffered Streams
PushbackInputStream
ProgressMonitorInputStream
Multitarget Output Streams
File Viewer, Part 2
7. Print Streams
Print Versus Write
Line Breaks
Error Handling
printf( )
Formatter
Formattable
8. Data Streams
The Data Stream Classes
Integers
Floating-Point Numbers
Booleans
Byte Arrays
Strings and chars
Little-Endian Numbers
Thread Safety
File Viewer, Part 3
9. Streams in Memory
Sequence Input Streams
Byte Array Streams
Communicating Between Threads Using Piped Streams
10. Compressing Streams
Inflaters and Deflaters
Compressing and Decompressing Streams
Zip Files
Checksums
File Viewer, Part 4
11. JAR Archives
Meta-Information: Manifest Files and Signatures
The jar Tool
The java.util.jar Package
JarFile
JarEntry
Attributes
Manifest
JarInputStream
JarOutputStream
JarURLConnection
Pack200
Reading Resources from JAR Files
12. Cryptographic Streams
Hash Functions
The MessageDigest Class
Digest Streams
Encryption Basics
The Cipher Class
Cipher Streams
File Viewer, Part 5
13. Object Serialization
Reading and Writing Objects
Object Streams
How Object Serialization Works
Performance
The Serializable Interface
Versioning
Customizing the Serialization Format
Resolving Classes
Resolving Objects
Validation
Sealed Objects
JavaDoc
Part IV. New I/O
14. Buffers
Copying Files with Buffers
Creating Buffers
Buffer Layout
Bulk Put and Get
Absolute Put and Get
Mark and Reset
Compaction
Duplication
Slicing
Typed Data
Read-Only Buffers
CharBuffers
Memory-Mapped I/O
15. Channels
The Channel Interfaces
File Channels
Converting Between Streams and Channels
Socket Channels
Server Socket Channels
Datagram Channels
16. Nonblocking I/O
Nonblocking I/O
Selectable Channels
Selectors
Selection Keys
Pipe Channels
Part V. The File System
17. Working with Files
Understanding Files
Directories and Paths
The File Class
Filename Filters
File Filters
File Descriptors
Random-Access Files
General Techniques for Cross-Platform File Access Code
18. File Dialogs and Choosers
File Dialogs
JFileChooser
File Viewer, Part 6
Part VI. Text
19. Character Sets and Unicode
The Unicode Character Set
UTF-16
UTF-8
Other Encodings
Converting Between Byte Arrays and Strings
20. Readers and Writers
The java.io.Writer Class
The OutputStreamWriter Class
The java.io.Reader Class
The InputStreamReader Class
Encoding Heuristics
Character Array Readers and Writers
String Readers and Writers
Reading and Writing Files
Buffered Readers and Writers
Print Writers
Piped Readers and Writers
Filtered Readers and Writers
File Viewer Finis
21. Formatted I/O with java.text
The Old Way
Choosing a Locale
Number Formats
Specifying Width with FieldPosition
Parsing Input
Decimal Formats
Part VII. Devices
22. The Java Communications API
The Architecture of the Java Communications API
Identifying Ports
Communicating with a Device on a Port
Serial Ports
Parallel Ports
23. USB
USB Architecture
Finding Devices
Controlling Devices
Describing Devices
Pipes
IRPs
Temperature Sensor Example
Hot Plugging
24. The J2ME Generic Connection Framework
The Generic Connection Framework
ContentConnection
Files
HTTP
Serial I/O
Sockets
Server Sockets
Datagrams
25. Bluetooth
The Bluetooth Protocol
The Java Bluetooth API
The Local Device
Discovering Devices
Remote Devices
Service Records
Talking to Devices
Part VIII. Appendix
Appendix
Index