I'm not entirely sure if it has a native recursive delete() (this is trivial to implement yourself though) but jsch (http://www.jcraft.com/jsch/) is an awesome implementation that allows for sftp access. We use it all the time.
Example code for connection:
JSch jsch = new JSch();
Properties properties = new Properties();
properties.setProperty("StrictHostKeyChecking", "no");
if (privKeyFile != null)
jsch.addIdentity(privKeyFile, password);
Session session = jsch.getSession(username, host, port);
session.setTimeout(timeout);
session.setConfig(properties);
if (proxy != null)
session.setProxy(proxy);
if (privKeyFile == null && password != null)
session.setPassword(password);
session.connect();
ChannelSftp channel = (ChannelSftp) session.openChannel("sftp");
channel.connect();
The channel has rm() and rmdir().