我正在从亚马逊S3服务器下载一些音频/视频/ PDF文件。我正在做的是在下载开始时加密每个文件的唯一第一个256kb。 最近我添加了简历功能。我想要做的是等待完整的文件下载。一个完成然后我将加密第一个256kb的文件。
我想加密第一个256kb的文件而不为其创建新文件。好像我在256kb后创建一个新的,我必须将其他字节复制到新文件。这需要一些时间,因为文件大小可以是200MB到500MB。
最佳解决方案是什么? 我正在使用JDK1.6下载是通过输入/输出流。
import java.io.InputStream;
import java.io.FileOutputStream;
答案 0 :(得分:2)
您可能想要使用RandomAccessFile。读取你的250K,加密内存,覆盖在同一个文件中。
答案 1 :(得分:1)
其他选项是创建自己的CustomInputStream类,该类扩展InputStream。当你从customInputStream读取时,保持读取字节数达到256时读取的字节数你可以解密它们然后你可以调用super.read()方法。