Friday, December 01, 2006

Java I/O

This presentation gives a good overview of Java I/O, from which I have learned:
  • FileInputStream/FileOutputStream: for sequential I/O and simple to buffer
  • RandomAccessFile: for full random-access
  • FileChannel: adds support for NIO byte buffers
  • MappedByteBuffer: for memory-mapped I/O
  • Buffering: for instance, use BufferedOutputStream for buffering FileOutputstream
  • Forcing I/O, e.g. flush() or FileChannel.force(), equals to the "fsync" system call
  • No direct I/O in Java

No comments: