Java I/O, 2nd Edition
Samenvatting
How well do you know I/O? 'Java I/O, second edition' teaches you the I/O tricks and techniques used by the wizards and gurus of the Java world. This book will open your eyes to the powers and patterns of streaming I/O.
Java's I/O facilities are extraordinary flexible and simple to use, and provide everything from simple binary and text output to USB and Bluetooth communication. There's world-class support for internationalization, memory-mapped files, asynchronous I/O and more. Do you need to encrypt your files and network sockets for privacy and security? 'CipherInputStream' is what you want. Do you desire smaller, more compact output? 'ZipOutputStream' is what you're looking for. Is your network server buckling under the load of many clients? Selectors and channels could be your salvation.
All of that's in this book, covered in detail, with practical examples. Topics include:
Input and output streams;
Network sockets;
Filter streams, including buffered streams, data streams and pushback input streams;
Printf-style I/O;
ZIP and JAR archives;
Encryption and decryption;
Object serialization;
Buffers, channels, non-blocking I/O, and other 'new I/O' features;
Files, directories, file systems, and file choosers;
Readers, writers, and Unicode;
Serial and parallel ports, USB, and Bluetooth;
I/O programming for J2ME devices.
I/O is at the heart of every useful program, whether it's a backend server or a desktop application.
Without input or output, programs can't communicate. And poor I/O handling is often at the root of performance problems. This book shows you how to solve your I/O problems. 'Java I/O, second edition' is an essential resource for anyone who's writing in Java today.
Specificaties
Inhoudsopgave
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
Anderen die dit boek kochten, kochten ook
Net verschenen
Rubrieken
- aanbestedingsrecht
- aansprakelijkheids- en verzekeringsrecht
- accountancy
- algemeen juridisch
- arbeidsrecht
- bank- en effectenrecht
- bestuursrecht
- bouwrecht
- burgerlijk recht en procesrecht
- europees-internationaal recht
- fiscaal recht
- gezondheidsrecht
- insolventierecht
- intellectuele eigendom en ict-recht
- management
- mens en maatschappij
- milieu- en omgevingsrecht
- notarieel recht
- ondernemingsrecht
- pensioenrecht
- personen- en familierecht
- sociale zekerheidsrecht
- staatsrecht
- strafrecht en criminologie
- vastgoed- en huurrecht
- vreemdelingenrecht