性能—如何在java中逐块读写一个大文件

mdfafbf1  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(322)

关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。

26天前关门了。
改进这个问题
我有一个大的100mb的文件要读和写。

String fromFile1 = "file1.zip"; // 100mb file
String toFile2 = "file2.crypt"; // empty

In a loop
 1. String chunk1 = fromFile1.read("50kb"); // I read in every loop 50kb
 2. toFile2.write(chunk1); //  I write in every loop 50kb

循环结束后,从 file1.zipfile2.crypt .

Here by this concept I can avoid reading the entire file into memory

如何在java中最有效地完成它?

kx5bkwkv

kx5bkwkv1#

我有一个大文件
使用 Files.newInputStream 获取一个流,它不会将整个内容读入内存,因此可以很好地处理任意大小的文件。输出也是如此:获取 OutputStream . 例如 java.nio.file.Files.newOutputStream .
要加密的
将inputstream或outputstream Package 到相应配置的加密筛选器流中(使用适当的密钥),然后使用 in.transferTo(out) 这将导致整个流复制自己,加密,没有'内存泄漏',到输出流。
所以我需要用base64字符串来读它
只有手卷的可怕的密码是这样工作的,所以,不,你不需要这个。
下面是一个例子。

相关问题