ByteBuffer getChar() method in Java with Examples
source link: https://www.geeksforgeeks.org/bytebuffer-getchar-method-in-java-with-examples/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
ByteBuffer getChar() method in Java with Examples
- Last Updated : 22 Jul, 2019
The getChar() method of java.nio.ByteBuffer class is used to get method for reading a char value
Reads the next two bytes at this buffer’s current position, composing them into a char value according to the current byte order, and then increments the position by two.
Syntax:
public abstract char getChar()
Return Value: This method returns the char value at the buffer’s current position
Throws: This method throws BufferUnderflowException – If the buffer’s current position is not smaller than its limit, then this exception is thrown.
Below are the examples to illustrate the getChar() method:
Examples 1:
// Java program to demonstrate
// getChar() method
import
java.nio.*;
import
java.util.*;
public
class
GFG {
public
static
void
main(String[] args)
{
// Declaring the capacity of the ByteBuffer
int
capacity =
50
;
// Creating the ByteBuffer
try
{
// creating object of ByteBuffer
// and allocating size capacity
ByteBuffer bb = ByteBuffer.allocate(capacity);
// putting the string in the bytebuffer
bb.asCharBuffer().put(
"Geeks"
);
// rewind the Bytebuffer
bb.rewind();
// Declaring the variable
char
c;
// print the ByteBuffer
System.out.println(
"Original ByteBuffer: "
);
while
((c = bb.getChar()) !=
0
)
System.out.print(c +
" "
);
// rewind the Bytebuffer
bb.rewind();
// Reads the char at this buffer's current position
// using getChar() method
char
value = bb.getChar();
// print the char value
System.out.println(
"\n\nByte Value: "
+ value);
// Reads the char at this buffer's next position
// using getChar() method
char
value1 = bb.getChar();
// print the char value
System.out.print(
"\nNext Byte Value: "
+ value1);
}
catch
(IllegalArgumentException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
catch
(ReadOnlyBufferException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
catch
(BufferUnderflowException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
}
}
Original ByteBuffer: G e e k s Byte Value: G Next Byte Value: e
Examples 2:
// Java program to demonstrate
// getChar() method
import
java.nio.*;
import
java.util.*;
public
class
GFG {
public
static
void
main(String[] args)
{
// Declaring the capacity of the ByteBuffer
int
capacity =
8
;
// Creating the ByteBuffer
try
{
// creating object of ByteBuffer
// and allocating size capacity
ByteBuffer bb = ByteBuffer.allocate(capacity);
// putting the string in the bytebuffer
bb.asCharBuffer().put(
"abc"
);
// rewind the Bytebuffer
bb.rewind();
// Declaring the variable
char
c;
// print the ByteBuffer
System.out.print(
"Original ByteBuffer: "
);
while
((c = bb.getChar()) !=
0
)
System.out.print(c +
" "
);
// rewind the Bytebuffer
bb.rewind();
// Reads the char at this buffer's current position
// using getChar() method
char
value = bb.getChar();
// print the char value
System.out.println(
"\n\nFirst char Value: "
+ value);
// Reads the char at this buffer's next position
// using getChar() method
char
value1 = bb.getChar();
// print the char value
System.out.println(
"\nSecond char Value: "
+ value1);
// Reads the char at this buffer's next position
// using getChar() method
char
value2 = bb.getChar();
// print the char value
System.out.println(
"\nThird char Value: "
+ value2);
// Reads the char at this buffer's next position
// using getChar() method
System.out.print(
"\nsince the buffer current position is incremented"
);
System.out.print(
" to greater than its limit "
);
char
value3 = bb.getChar();
char
value4 = bb.getChar();
}
catch
(BufferOverflowException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
catch
(ReadOnlyBufferException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
catch
(BufferUnderflowException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
}
}
Original ByteBuffer: a b c First char Value: a Second char Value: b Third char Value: c since the buffer current position is incremented to greater than its limit Exception Thrown: java.nio.BufferUnderflowException
The get(int index) method of ByteBuffer is used to reads two bytes at the given index, composing them into a char value according to the current byte order.
Syntax:
public abstract char getChar(int index)
Parameters: This method takes index (The index from which the Byte will be read) as a parameter.
Return Value: This method returns the char value at the given index.
Exception: This method throws IndexOutOfBoundsException. If index is negative or not smaller than the buffer’s limit this exception is thrown.
Below are the examples to illustrate the get(int index) method:
Examples 1:
// Java program to demonstrate
// getChar() method
import
java.nio.*;
import
java.util.*;
public
class
GFG {
public
static
void
main(String[] args)
{
// Declaring the capacity of the ByteBuffer
int
capacity =
50
;
// Creating the ByteBuffer
try
{
// creating object of ByteBuffer
// and allocating size capacity
ByteBuffer bb = ByteBuffer.allocate(capacity);
// putting the string in the bytebuffer
bb.asCharBuffer().put(
"abc"
);
// rewind the Bytebuffer
bb.rewind();
// Declaring the variable
char
c;
// print the ByteBuffer
System.out.print(
"Original ByteBuffer: "
);
while
((c = bb.getChar()) !=
0
)
System.out.print(c +
" "
);
// rewind the Bytebuffer
bb.rewind();
// Reads the char at this buffer's at index 0
// using getChar() method
char
value0 = bb.getChar(
0
);
// print the char value
System.out.println(
"\n\nchar Value at index 0: "
+ value0);
// Reads the char at this buffer's at index 2
// using getChar() method
char
value1 = bb.getChar(
2
);
// print the char value
System.out.println(
"\nchar Value at index 2: "
+ value1);
// Reads the char at this buffer's at index 4
// using getChar() method
char
value2 = bb.getChar(
4
);
// print the char value
System.out.println(
"\nchar Value at index 4: "
+ value2);
}
catch
(IllegalArgumentException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
catch
(ReadOnlyBufferException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
catch
(BufferUnderflowException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
}
}
Original ByteBuffer: a b c char Value at index 0: a char Value at index 2: b char Value at index 4: c
Examples 2:
// Java program to demonstrate
// getChar() method
import
java.nio.*;
import
java.util.*;
public
class
GFG {
public
static
void
main(String[] args)
{
// Declaring the capacity of the ByteBuffer
int
capacity =
50
;
// Creating the ByteBuffer
try
{
// creating object of ByteBuffer
// and allocating size capacity
ByteBuffer bb = ByteBuffer.allocate(capacity);
// putting the string in the bytebuffer
bb.asCharBuffer().put(
"abc"
);
// rewind the Bytebuffer
bb.rewind();
// Declaring the variable
char
c;
// print the ByteBuffer
System.out.print(
"Original ByteBuffer: "
);
while
((c = bb.getChar()) !=
0
)
System.out.print(c +
" "
);
// rewind the Bytebuffer
bb.rewind();
// Reads the char at this buffer's at index 0
// using getChar() method
char
value0 = bb.getChar(
0
);
// print the char value
System.out.println(
"\n\nchar Value at index 0: "
+ value0);
// Reads the char at this buffer's at index 2
// using getChar() method
char
value1 = bb.getChar(
2
);
// print the char value
System.out.println(
"\nchar Value at index 2: "
+ value1);
// Reads the char at this buffer's at index 4
// using getChar() method
System.out.println(
"\nTrying to get the char"
+
" at negative index "
);
char
value2 = bb.getChar(-
4
);
}
catch
(IndexOutOfBoundsException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
catch
(ReadOnlyBufferException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
catch
(BufferUnderflowException e) {
System.out.println(
"\nException Thrown: "
+ e);
}
}
}
Original ByteBuffer: a b c char Value at index 0: a char Value at index 2: b Trying to get the char at a negative index Exception Thrown: java.lang.IndexOutOfBoundsException
Reference:
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK