4

I just discovered that with NIO.2, at least under Linux, I can open a FileChannel on a directory, and calling force(true) calls fsync() on the underlying file descriptor. Without getting into whether this should be necessary, it's nice to finally have this functionality available in pure Java.

I haven't been able to find anywhere that this behaviour is documented, though. Can I count on this working on all Unix platforms, in future versions of Java, and in non-Oracle JVMs?

Community
  • 1
  • 1
Carey
  • 1,198
  • 6
  • 11

2 Answers2

3

See the following thread: http://mail.openjdk.java.net/pipermail/nio-dev/2015-May/003140.html

It was not technically supported, but looks like support will be retained as many applications rely on it.

Mark
  • 131
  • 2
-1

You can count on whatever the documentation says, and on nothing else.

user207421
  • 305,947
  • 44
  • 307
  • 483
  • Unlike `FileInputStream`, the documentation for `FileChannel.open()` doesn’t say that it only works on regular files, which I guess will have to do. – Carey Oct 13 '11 at 02:58