你必须加密文件。
对于小文件,可以使用“内存中”策略,其中读取完整的文件并将其保存在内存中(例如,对于<1 gb的文件)
对于大文件,可以使用另一种策略,其中部分文件在内存中读取,部分加密结果存储在tmp文件中。
对于同一任务,这可能是两种不同的策略。
客户端代码看起来相同:
File file = getFile(); Cipher c = CipherFactory.getCipher( file.size() ); c.performAction();// implementations:interface Cipher { public void performAction();}class InMemoryCipherStrategy implements Cipher { public void performAction() { // load in byte[] .... }}class SwaptToDiskCipher implements Cipher { public void performAction() { // swapt partial results to file. }}Cipher c = CipherFactory.getCipher( file.size() );
将为密码返回正确的策略实例。



