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

may*_*r86 6 file-io scala java-io rapture.io

所以,基本上我想从base64字符串内容创建一个临时文件.现在,我正在使用本机java-io函数.但我想用scalarapture-io库来实现相同的结果.

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

我已经阅读了文档,但不够具体:

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
Run Code Online (Sandbox Code Playgroud)

bea*_*ito 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()
Run Code Online (Sandbox Code Playgroud)

未经 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()
Run Code Online (Sandbox Code Playgroud)