从 byte[] 创建一个临时 java.io.File
Posted
技术标签:
【中文标题】从 byte[] 创建一个临时 java.io.File【英文标题】:Create a temporary java.io.File from byte[] 【发布时间】:2013-10-01 03:15:59 【问题描述】:我必须使用像saveAttachment(Attachment attachment)
这样的现有方法,其中Attachment
有一个File attribute
。
我的问题是我正在检索byte[]
,我想使用这种方法保存它。我怎样才能有一个“本地”File
只是为了保存?
对不起,如果我的问题很愚蠢,我对 Java 中的文件了解不多。
【问题讨论】:
从哪里获取字节[]?您想将数据保存在哪里?需要更多上下文和解释 我使用一种方法保存数据,该方法本身使用 alfresco community sdk 来存储文件,所以我无法更改它的保存方式。我从不提供其他信息的网络服务中检索字节。由于这些原因,我没有在我的问题中提供更多细节。 【参考方案1】:File tempFile = File.createTempFile(prefix, suffix, null);
FileOutputStream fos = new FileOutputStream(tempFile);
fos.write(byteArray);
查看相关文档:
File.createTempFile(prefix, suffix, directory);
【讨论】:
【参考方案2】:从文件中读取所有字节或行
Path file = ...;
byte[] fileArray;
fileArray = Files.readAllBytes(file);
将所有字节或行写入文件
Path file = ...;
byte[] buf = ...;
Files.write(file, buf);
【讨论】:
【参考方案3】:你很幸运。
File.createTempFile(String prefix, String suffix)
在操作系统的默认临时目录中创建一个文件,保证您可以写入。
【讨论】:
以上是关于从 byte[] 创建一个临时 java.io.File的主要内容,如果未能解决你的问题,请参考以下文章