The Slide WebDAV client, specifically class WebdavResource, opens input streams but doesn't close them. This results in errors if many files are consecutively copied with putMethod(). If input streams are not closed, the system resources will be freed only at garbage collection time. I would suggest to change WebdavResource as follows. Instead of doing method.setRequestBody(new FileInputStream(file)); do FileInputStream fin=new FileInputStream(file); method.setRequestBody(fin); fin.close(); Example stack trace after copying multiple files: java.io.FileNotFoundException: (Insufficient system resources exist to complete the requested service) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(Unknown Source) at org.apache.webdav.lib.WebdavResource.putMethod (WebdavResource.java:2553)