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






Write file with FileChannel

      


import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class Util{
   public static final int BUFFER_SIZE = 4096;
    public void write(File dest, InputStream in) {
        FileChannel channel = null;
        try {
          channel = new FileOutputStream(dest).getChannel();
        } catch (FileNotFoundException e) {
          System.out.println(e);
        }
        try {
          int byteCount = 0;
          byte[] buffer = new byte[BUFFER_SIZE];
          int bytesRead = -1;
          while ((bytesRead = in.read(buffer)) != -1) {
            ByteBuffer byteBuffer = ByteBuffer.wrap(buffer, 0, bytesRead);
            channel.write(byteBuffer);
            byteCount += bytesRead;
          }

        } catch (IOException e) {
          System.out.println(e);
        } finally {

          try {
            if (channel != null) {
              channel.close();
            }
            if (in != null) {
              in.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.Read file with FileChannel
17.Copy ALL available data from one stream into another with Channel
18.Copy file with FileChannel