如何解决如何从数据创建 5mb 块大小的文件
我在数据库中有一些数据。我想将该数据发送到文件中的 api 端点。所以我正在将该数据加载到我的对象中。使用 mapper.writeValueAsstring 将该对象转换为 String json 主体。现在我必须将该数据分成 5mb 块,然后将其发送到端点。所以我有两个问题
- 如何将这些数据分成 5mb 的块
- 如何在不保存到磁盘的情况下创建 5mb 块的文件。
到目前为止,我能够做到这一点。
@Service
public class DataService {
@Autowired
private CityRepository cityRepository;
public void applyBatch() {
ExecutorService executor = Executors.newFixedThreadPool(10);
List< Future<String> > futureList = new ArrayList<Future<String>>();
List<City> cities = cityRepository.findAll();
Request request = new Request(1,cities);
ObjectMapper mapper = new ObjectMapper();
String jsonBody = "";
try {
jsonBody = mapper.writeValueAsstring(request);
System.out.println("Size of json body: " + jsonBody.length());
} catch (JsonProcessingException e) {
System.out.println(e.getMessage());
System.out.println("Incorrect JSON Format");
}
long sourceSize = jsonBody.length();
long fileSize = 5 * 1024 * 1024;
long noOfFiles;
if (sourceSize % fileSize == 0) {
noOfFiles = sourceSize / fileSize;
}
else {
noOfFiles = (sourceSize / fileSize) + 1;
}
for (int i = 1; i <= noOfFiles; i++) {
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。