使用rapture-io从base64字符串创建临时文件

时间:2014-11-03 15:46:32

标签: scala file-io java-io rapture.io

所以,基本上我想从base64字符串内容创建一个临时文件。现在,我正在使用本机java-io函数执行此操作。但我希望使用 rapture-io库进行scala 来获得相同的结果。

所以我的问题是,是否有可能通过狂喜来实现这一目标,如果是这样,那么

我已经完成了文档,但不够具体:

https://github.com/propensive/rapture-io/blob/master/doc/introduction.md

这是我的实际代码:

import org.apache.commons.codec.binary.Base64
import java.io.FileOutputStream
import java.io.File

val data: String = base64StringContent //Base64 String content of the file.
val fileName = myFileName
val fileExt = myFileExt

//It does write the file in my temp folder.
val file: File = File.createTempFile(fileName, fileExt)
val fileByteArray: Array[Byte] = Base64.decodeBase64(data)
val fileOutFile: FileOutputStream = new FileOutputStream(file)
fileOutFile.write(fileByteArray)
fileOutFile.close()
file.deleteOnExit()
file

1 个答案:

答案 0 :(得分:1)

这对你有用吗?

import rapture.fs.platform.posix
import rapture.io._
import rapture.core._
import rapture.fs._
import strategy.throwExceptions

 val tmpFile  = (File / "tmp").tempFile(prefix = "yourfileName",suffix = ".extension")
 "data" >> tmpFile
 tmpFile.deleteOnExit()
 tmpFile.delete()

在Windows上未经测试。您可能必须使用其他分隔符,例如\\而不是/

import rapture.fs.platform.windows
import rapture.io._
import rapture.core._
import rapture.fs._
import strategy.throwExceptions

 val tmpFile  = (File / "C:" / "Windows" / "Temp" ).tempFile(prefix = "yourfileName",suffix = ".extension")
 "data" >> tmpFile
 tmpFile.deleteOnExit()
 tmpFile.delete()