Read file with FileChannel : FileChannel « File Input Output « Java






Read file with FileChannel

      

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class Util {
  public static final int BUFFER_SIZE = 4096;

  public void read(File src, OutputStream dest) {
    FileChannel channel = null;
    int bytesRead = -1;
    try {
      channel = new FileInputStream(src).getChannel();
      ByteBuffer buffer = ByteBuffer.allocate(BUFFER_SIZE);
      while ((bytesRead = channel.read(buffer)) != -1) {
        buffer.flip();
        dest.write(buffer.array(), 0, bytesRead);
        buffer.clear();
      }
    } catch (Exception e) {
      System.out.println(e);
    } finally {
      try {
        if (dest != null) {
          dest.flush();
          dest.close();
        }
        if (channel != null) {
          channel.close();
        }
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }

}

   
    
    
    
    
    
  








Related examples in the same category

1.Performs a straightforward copy operation
2.Write to a file using FileChannel.
3.Using FileChannels to Access a File
4.Write to a mapped file.
5.Copy a file using NIO.
6.Get FileChannel from FileOutputStream and FileInputStream
7.Transfer between FileChannel
8.Read bytes from the specified channel, decode them using the specified Charset, and write the resulting characters to the specified writer
9.Demonstrates file locking and simple file read and write operations using java.nio.channels.FileChannel
10.Create a read-only memory-mapped file
11.Create a read-write memory-mapped file
12.Creating a Stream from a Channel
13.Create an inputstream on the channel
14.Create a private (copy-on-write) memory-mapped file.
15.A character output stream that sends output to a printer
16.Write file with FileChannel
17.Copy ALL available data from one stream into another with Channel
18.Copy file with FileChannel