java.nio

Home
Java Source Code / Java Documentation
1.6.0 JDK Core
2.6.0 JDK Modules
3.6.0 JDK Modules com.sun
4.6.0 JDK Modules com.sun.java
5.6.0 JDK Modules sun
6.6.0 JDK Platform
7.Ajax
8.Apache Harmony Java SE
9.Aspect oriented
10.Authentication Authorization
11.Blogger System
12.Build
13.Byte Code
14.Cache
15.Chart
16.Chat
17.Code Analyzer
18.Collaboration
19.Content Management System
20.Database Client
21.Database DBMS
22.Database JDBC Connection Pool
23.Database ORM
24.Development
25.EJB Server
26.ERP CRM Financial
27.ESB
28.Forum
29.Game
30.GIS
31.Graphic 3D
32.Graphic Library
33.Groupware
34.HTML Parser
35.IDE
36.IDE Eclipse
37.IDE Netbeans
38.Installer
39.Internationalization Localization
40.Inversion of Control
41.Issue Tracking
42.J2EE
43.J2ME
44.JBoss
45.JMS
46.JMX
47.Library
48.Mail Clients
49.Music
50.Net
51.Parser
52.PDF
53.Portal
54.Profiler
55.Project Management
56.Report
57.RSS RDF
58.Rule Engine
59.Science
60.Scripting
61.Search Engine
62.Security
63.Sevlet Container
64.Source Control
65.Swing Library
66.Template Engine
67.Test Coverage
68.Testing
69.UML
70.Web Crawler
71.Web Framework
72.Web Mail
73.Web Server
74.Web Services
75.Web Services apache cxf 2.2.6
76.Web Services AXIS2
77.Wiki Engine
78.Workflow Engines
79.XML
80.XML UI
Java Source Code / Java Documentation » 6.0 JDK Core » io nio » java.nio 
java.nio
Defines buffers, which are containers for data, and provides an overview of the other NIO packages.

The central abstractions of the NIO APIs are:

  • Buffers, which are containers for data;

  • Charsets and their associated decoders and encoders,
    which translate between bytes and Unicode characters;

  • Channels of various types, which represent connections
    to entities capable of performing I/O operations; and

  • Selectors and selection keys, which together with
    selectable channels define a multiplexed, non-blocking
    I/O
     facility.

The java.nio package defines the buffer classes, which are used throughout the NIO APIs. The charset API is defined in the {@link java.nio.charset} package, and the channel and selector APIs are defined in the {@link java.nio.channels} package. Each of these subpackages has its own service-provider (SPI) subpackage, the contents of which can be used to extend the platform's default implementations or to construct alternative implementations.

Buffers

Description

{@link java.nio.Buffer} Position, limit, and capacity;
clear, flip, rewind, and mark/reset
  {@link java.nio.ByteBuffer} Get/put, compact, views; allocate, wrap
    {@link java.nio.MappedByteBuffer}   A byte buffer mapped to a file
  {@link java.nio.CharBuffer} Get/put, compact; allocate, wrap
  {@link java.nio.DoubleBuffer}     ' '
  {@link java.nio.FloatBuffer}     ' '
  {@link java.nio.IntBuffer}     ' '
  {@link java.nio.LongBuffer}     ' '
  {@link java.nio.ShortBuffer}     ' '
{@link java.nio.ByteOrder} Typesafe enumeration for byte orders

A buffer is a container for a fixed amount of data of a specific primitive type. In addition to its content a buffer has a position, which is the index of the next element to be read or written, and a limit, which is the index of the first element that should not be read or written. The base {@link java.nio.Buffer} class defines these properties as well as methods for clearing, flipping, and rewinding, for marking the current position, and for resetting the position to the previous mark.

There is a buffer class for each non-boolean primitive type. Each class defines a family of get and put methods for moving data out of and in to a buffer, methods for compacting, duplicating, and slicing a buffer, and static methods for allocating a new buffer as well as for wrapping an existing array into a buffer.

Byte buffers are distinguished in that they can be used as the sources and targets of I/O operations. They also support several features not found in the other buffer classes:

  • A byte buffer can be allocated as a direct buffer, in which case the Java virtual machine will make a best effort to perform native I/O operations directly upon it.

  • A byte buffer can be created by {@link java.nio.channels.FileChannel#map mapping} a region of a file directly into memory, in which case a few additional file-related operations defined in the {@link java.nio.MappedByteBuffer} class are available.

  • A byte buffer provides access to its content as either a heterogeneous or homogeneous sequence of binary data of any non-boolean primitive type, in either big-endian or little-endian byte order.

Unless otherwise noted, passing a null argument to a constructor or method in any class or interface in this package will cause a {@link java.lang.NullPointerException NullPointerException} to be thrown. @since 1.4 @version 1.18, 07/05/05 @author Mark Reinhold @author JSR-51 Expert Group

Java Source File NameTypeComment
Bits.javaClass Access to bits, native and otherwise.
Buffer.javaClass A container for data of a specific primitive type.

A buffer is a linear, finite sequence of elements of a specific primitive type.

ByteBufferAs-X-Buffer.javaClass
ByteOrder.javaClass A typesafe enumeration for byte orders.
Direct-X-Buffer-bin.javaClass
Direct-X-Buffer.javaClass
Heap-X-Buffer.javaClass #if[rw] A read/write Heap$Type$Buffer. #else[rw] A read-only Heap$Type$Buffer.
MappedByteBuffer.javaClass A direct byte buffer whose content is a memory-mapped region of a file.

Mapped byte buffers are created via the java.nio.channels.FileChannel.map FileChannel.map method.

StringCharBuffer.javaClass
X-Buffer-bin.javaClass
X-Buffer.javaClass $A$ $fulltype$ buffer.

This class defines {#if[byte]?six:four} categories of operations upon $fulltype$ buffers:

  • Absolute and relative $Type$Buffer.get() get and $Type$Buffer.put($type$) put methods that read and write single $fulltype$s;

  • Relative $Type$Buffer.get($type$[]) bulk get methods that transfer contiguous sequences of $fulltype$s from this buffer into an array; {#if[!byte]?and}

  • Relative $Type$Buffer.put($type$[]) bulk put methods that transfer contiguous sequences of $fulltype$s from $a$ $fulltype$ array{#if[char]?, a string,} or some other $fulltype$ buffer into this buffer;{#if[!byte]? and}

  • #if[byte]
  • Absolute and relative $Type$Buffer.getChar() get and $Type$Buffer.putChar(char) put methods that read and write values of other primitive types, translating them to and from sequences of bytes in a particular byte order;

  • Methods for creating view buffers, which allow a byte buffer to be viewed as a buffer containing values of some other primitive type; and

  • #end[byte]
  • Methods for $Type$Buffer.compact compacting , $Type$Buffer.duplicate duplicating , and $Type$Buffer.sliceslicing $a$ $fulltype$ buffer.

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.