6

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

所以我的问题是,是否有可能通过 rapture-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
4

1 回答 1

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()
于 2014-11-04T02:13:40.193 回答