Just done a quick test here and I have reproduced the same issue, Even though you put SFTP in the title I did a test with FTP as well and that is working so I assume it is something different about the library being used for SFTP or how the returned data is handled.
We list the files, Check if it is .dat and if it is check for 0 size we then either make an empty binary file and save it or download it from the SFTP server.
I have a complex workflow and before the files are downloaded i managed to add a new line to empty files with a bash script so that the ftp node does not produce that error for the time being.