我使用 CXF/MTOM 创建了一个用于传输大文件(超过 700Mo)的 Web 服务,我设法将文件传输到服务器,现在我的问题是优化在磁盘中写入数据,我将给出示例:
DataHandler handler = fichier.getFichier();
InputStream is = handler.getInputStream();
OutputStream os = new FileOutputStream(new File("myFile"));
byte[] buffer = new byte[BUFFER];
int bytesRead = 0;
while ((bytesRead = is.read(buffer)) != -1) {
os.write(buffer,0,bytesRead);
}
使用字节会导致我出现 OutOfMemory,所以我宁愿使用这个:
DataHandler handler = fichier.getFichier();
handler.writeTo(os);
上传 700Mo 需要 2 分钟。
还有什么其他有效的方法?
谢谢