Mega Code Archive

 
Categories / Java / File Input Output
 

Use New Java IO to write string into a file

/*  * 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.rntsoft.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);     }   } }