| 
   /*
 * Output:
 File stream created successfully.
 New buffer:           position = 0  Limit = 1024  capacity = 1024
 Buffer after loading: position = 30  Limit = 1024  capacity = 1024
 Buffer after flip:    position = 0  Limit = 30  capacity = 1024
 Buffer contents written to file.
 */
 
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.FileNotFoundException;
 import java.nio.ByteBuffer;
 import java.nio.channels.FileChannel;
 
 public class MainClass {
 public static void main(String[] args) {
 String phrase = new String("www.java2s.com\n");
 
 File aFile = new File("test.txt");
 FileOutputStream outputFile = null;
 try {
 outputFile = new FileOutputStream(aFile, true);
 System.out.println("File stream created successfully.");
 } catch (FileNotFoundException e) {
 e.printStackTrace(System.err);
 }
 
 FileChannel outChannel = outputFile.getChannel();
 
 ByteBuffer buf = ByteBuffer.allocate(1024);
 System.out.println("New buffer:           position = " + buf.position()
 + "\tLimit = " + buf.limit() + "\tcapacity = "
 + buf.capacity());
 
 // Load the data into the buffer
 for (char ch : phrase.toCharArray()) {
 buf.putChar(ch);
 }
 System.out.println("Buffer after loading: position = " + buf.position()
 + "\tLimit = " + buf.limit() + "\tcapacity = "
 + buf.capacity());
 buf.flip();
 System.out.println("Buffer after flip:    position = " + buf.position()
 + "\tLimit = " + buf.limit() + "\tcapacity = "
 + buf.capacity());
 
 try {
 outChannel.write(buf);
 outputFile.close();
 System.out.println("Buffer contents written to file.");
 } catch (IOException e) {
 e.printStackTrace(System.err);
 }
 }
 }
 
 
 
 
 
 
 
 |