Class IncomingFileTransfer


  • public class IncomingFileTransfer
    extends FileTransfer
    An incoming file transfer is created when the FileTransferManager.createIncomingFileTransfer(FileTransferRequest) method is invoked. It is a file being sent to the local user from another user on the jabber network. There are two stages of the file transfer to be concerned with and they can be handled in different ways depending upon the method that is invoked on this class. The first way that a file is received is by calling the receiveFile() method. This method, negotiates the appropriate stream method and then returns the InputStream to read the file data from. The second way that a file can be received through this class is by invoking the receiveFile(File) method. This method returns immediately and takes as its parameter a file on the local file system where the file recieved from the transfer will be put.
    • Method Detail

      • receiveFile

        public java.io.InputStream receiveFile()
                                        throws org.jivesoftware.smack.SmackException,
                                               org.jivesoftware.smack.XMPPException.XMPPErrorException,
                                               java.lang.InterruptedException
        Negotiates the stream method to transfer the file over and then returns the negotiated stream.
        Returns:
        The negotiated InputStream from which to read the data.
        Throws:
        org.jivesoftware.smack.SmackException - if Smack detected an exceptional situation.
        org.jivesoftware.smack.XMPPException.XMPPErrorException - If there is an error in the negotiation process an exception is thrown.
        java.lang.InterruptedException - if the calling thread was interrupted.
      • receiveFile

        public void receiveFile​(java.io.File file)
                         throws org.jivesoftware.smack.SmackException,
                                java.io.IOException
        This method negotiates the stream and then transfer's the file over the negotiated stream. The transferred file will be saved at the provided location. This method will return immediately, file transfer progress can be monitored through several methods:
        Parameters:
        file - The location to save the file.
        Throws:
        org.jivesoftware.smack.SmackException - when the file transfer fails
        java.io.IOException - if an I/O error occurred.
        java.lang.IllegalArgumentException - This exception is thrown when the provided file is either null, or cannot be written to.