<分区>
简而言之:我想将一个字节数组或字符串转换成一个 File 对象,这样我就可以将这个 File 对象用作一个方法的参数,该方法的签名是我无法改变。我想在不接触驱动器的情况下在内存中实现这一点。
我读了很多similar questions在这里,包括有关使用 File.createTempFile 的建议,但我觉得我们仍然在创建物理文件,即使它只是临时的?
完整:我正在帮助完成一个非常复杂的数据恢复项目。我们现在有一个超过 400GB 的磁盘镜像,它是 2MB 部分的集合。我要恢复的一些文件从一个开始,到另一个 2MB 的部分结束。我们有一个我们见过的开头和结尾的 list ,所以现在我想把开头和结尾拼接在一起,然后检查结果是否是一个有效的文件,采用某种专有格式。 (这都是背景信息,请不要深入了解!)
我有一个 java 类(我无法更改)可以读取并因此验证这些文件。所以我想简单地将我的放在一起的文件提供给这个方法。如果成功,我将继续下一个“开始部分”,否则我会尝试将开始部分与不同的结束部分相匹配。
我想将“拼接在一起的文件”保留在内存中(而不是将其写入临时文件),因为很明显我需要高效率。这是最后的手段;事实上,我们需要将成千上万的开始与成千上万的结局相匹配。但同样,让我们继续回答问题 :)