import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.io.File; import java.io.FileOutputStream; import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.channels.FileChannel; public class IOFileTest { public static void main(String[] args) throws IOException{ String line; //Use a BufferedReader for reading in an entire line from keyboard to the String line. BufferedReader byteReader = new BufferedReader(new InputStreamReader(System.in)); line = byteReader.readLine(); System.out.println(line); //Create directory and file objects. File myDir = new File("testdir"); File myFile = new File(myDir, "testfile.txt"); System.out.println("myDir is " + (myDir.isDirectory() ? "" : "not ") + "a directory."); System.out.println("myFile is " + (myFile.isFile() ? "" : "not ") + "a file."); //Create physical directory and file. System.out.println("Are you ready to create the directory and file?"); line = byteReader.readLine(); myDir.mkdir(); myFile.createNewFile(); System.out.println("myDir is " + (myDir.isDirectory() ? "" : "not ") + "a directory."); System.out.println("myFile is " + (myFile.isFile() ? "" : "not ") + "a file."); //Set up for file output. FileOutputStream outStream = new FileOutputStream(myFile); FileChannel outChannel = outStream.getChannel(); ByteBuffer outBuf = ByteBuffer.allocate(120); //Copy line from keyboard to file. System.out.println("Enter a line of text:"); line = byteReader.readLine(); outBuf.put(line.getBytes()); outBuf.flip(); outChannel.write(outBuf); //Do it again. outBuf.clear(); System.out.println("Enter another line of text:"); line = byteReader.readLine(); outBuf.put(line.getBytes()); outBuf.flip(); outChannel.write(outBuf); //Do it again, but output as unicode chars. outBuf.clear(); System.out.println("Enter another line of text:"); line = byteReader.readLine(); for(int i = 0; i