SmbFileInputStream seems to break the contract of InputStream that Java developers are traditionally used to. The method: public int read( byte[] b, int off, int len ); does not return a -1 when the end of the stream has been reached. Any chance this could be fixed? Thanks. Tony