Storage-Core
Introductions
Storage-Core is core module of Storage, it provides abstract interfaces and a local storage implementation.
Download
Grab via Maven:
<dependency>
<groupId>cn.dustlight.storage</groupId>
<artifactId>storage-core</artifactId>
<version>0.0.6</version>
</dependency>
Use
Simple use cases with LocalStorage look like this:
package com.example.demo;
import cn.dustlight.storage.core.Permission;
import cn.dustlight.storage.core.StorableObject;
import cn.dustlight.storage.core.Storage;
import cn.dustlight.storage.local.LocalStorage;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Component;
import java.io.InputStream;
import java.io.OutputStream;
@SpringBootApplication
@Component
public class DemoApplication implements ApplicationRunner {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
public void run(ApplicationArguments args) throws Exception {
Storage storage = LocalStorage.defaultInstance; // Default instance's path is '.'
StorableObject test = storage.create("test.txt", Permission.PUBLIC); // Create a object with key 'test.txt', with permission 'PUBLIC'
OutputStream out = test.getOutputStream(); // Get object output stream
out.write("Hello World!".getBytes()); // Write OutputStream
out.close();
InputStream in = test.getInputStream(); // Get object input stream
byte[] data = new byte[13]; // Read InputStream
in.read(data);
in.close();
String str = new String(data);
System.out.println(str);
}
}
Other operations, such as copying, checking for existence, and deleting:
storage.put("text2.txt",test); // Put object to 'test2.txt'.
storage.isExist("text.txt"); // Check object exists or not.
storage.remove("text.txt"); // Delete object
TencentCloudObjectStorage in Tencent Cloud Object Storage provides the URL generated, it can generate the URL for get, put and remove.
See the wiki for full instructions.
Get Help
To report a specific problem or feature request, open a new issue on Github. For questions, suggestions, or anything else, email hansin@dustlight.cn.