又拍云存储Java SDK,基于又拍云存储HTTP REST API接口开发,适用于Java 6及以上版本。
使用例子:
UpYunClient client = UpYunClient.create(BUCKET_NAME, USER_NAME, USER_PWD); // 方法1:创建一级目录 String dir1 = "/a"; client.unRecursionMkDir().createFolder(dir1); // 方法2:创建多级目录,自动创建父级目录(最多10级) String dir2 = "/a/b/c/d/"; client.recursionMkDir().createFolder(dir2); /* * 文本内容直接上传 */ client.recursionMkDir().uploadFile("/a/a.txt", "test content"); /* * 采用数据流模式上传文件(节省内存) */ File file = new File(SAMPLE_TXT_FILE); client.uploadFile("/a/b.txt", file); listFolder(); // 设置待上传文件的 Content-MD5 值 // 如果又拍云服务端收到的文件MD5值与用户设置的不一致,将回报 406 NotAcceptable 错误 client.contentMD5(Crypto.md5(file)).uploadFile("/a/c.txt", file); /** * 读取空间使用量 */ long usage = client.getBucketUsage(); System.out.println("空间总使用量:" + usage + "B"); /** * 读取文件信息 */ FileItem item = client.getFileInfo("/a/a.txt"); assert item.getName().equals("a.txt"); /* * 直接读取文本内容 */ String data = client.readFileText("/a/a.txt"); System.out.println(data); assert "test content".equals(data); /* * 下载文件,采用数据流模式下载文件(节省内存) */ File downloadPath = File.createTempFile("upyunTempFile_", ""); client.downloadFile("/a/a.txt", downloadPath); assert file.exists(); /** * 删除文件 */ client.deleteFile("/a/a.txt"); client.deleteFile("/a/b.txt"); client.deleteFile("/a/c.txt"); /** * 删除目录 */ client.deleteFolder("/a/b/c/d");