Below step-by-step procedure explains, how to read data
from a file.
Step 1: Get the
FileChannel instance from the file.
FileChannel channel =
FileChannel.open(Paths.get(FILE_PATH), READ);
Step 2: Create a
buffer.
ByteBuffer buffer = ByteBuffer.allocate(100);
Step 3: Read the
contents of file from the channel and place the content in buffer.
while (channel.read(buffer) != -1) {
buffer.flip();
System.out.println(Charset.defaultCharset().decode(buffer));
buffer.clear();
}
Step 4: Close the channel.
channel.close();
package com.sample.app; import java.io.FileInputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; public class Test { private static final String FILE_PATH = "/Users/krishna/Documents/demo.txt"; public static void printFileContents(String filePath) throws IOException { try (FileInputStream fin = new FileInputStream(filePath)) { FileChannel fileChannel = fin.getChannel(); ByteBuffer buffer = ByteBuffer.allocate(100); int noOfBytesRead; while ((noOfBytesRead = fileChannel.read(buffer)) != -1) { String str = new String(buffer.array()); System.out.println(str); buffer.flip(); } } } public static void main(String... args) throws IOException { printFileContents(FILE_PATH); } }
No comments:
Post a Comment