Search code examples
javaftpremote-accessapache-commons

How can I write to a remote file using Apache Commons Net?


Once the program is connected to the server using the FTPClient connect() method, how can I send Strings and append them to a file located in the remote machine?

I have read other posts but they don't use Apache Commons Net library.


Solution

  • From the docs (you did check the docs, right?), you need the appendFile() method on the FTP client.

    Something like

    String text = "...."
    String remoteFileName = "..."
    FTPClient ftp = ... // Already connected
    
    try (ByteArrayInputStream local = new ByteArrayInputStream(text.toBytes("UTF-8"))) {
        ftp.appendFile(remoteFilename, local);
    } catch (IOException ex) {
        throw new RuntimeException("Uh-oh", ex);
    }