Yes for the file producer java nio is used to write files.
The file consumer is using a scheduled thread pool to trigger and run where it scans for new files to pickup.
Camel will by default route the java.io.File handle. And only read the file content on demand.
So if you do a
from file a to file b
Then Camel will try at first to move the file from a -> b. And if that is not possible, it will copy the file using streaming with java nio.