所以,基本上我想从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
答案 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()