6
所以,基本上我想从base64字符串内容创建一个临时文件。现在,我正在使用原生的java-io函数执行此操作。但是我想用scala的rapture-io库来达到同样的结果。用base64字符串创建一个临时文件,提醒-io
所以我的问题是,是否有可能实现这与提 - 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
嗨!感谢您的回答!代码打破“val tmpFile ...”行,得到:“系统找不到指定的路径”。 我在Windows环境下...我应该改变它的任何其他文件夹/路线?任何其他可以同时适用于两种环境的替代方案? (我正计划在Heroku中运行此工具) – mayacr86 2014-11-04 15:50:36
请参阅未经测试的解决方案的编辑答案。我想你必须根据其他信息有条件地导入平台。你可以把平台放在一个配置文件中,或者根据查询System.properties。您也可以根据平台类型有条件地创建fileUrl。 – bearrito 2014-11-04 16:01:43
Windows路由确实如此工作,只需在'C'之后添加':'即可。但是这里的东西......是不是在我的'Temp'文件夹中创建文件,但它们都是“损坏”的。 我假设“数据”是我的base64字符串值,对不对? (“data”>> tmpFile) – mayacr86 2014-11-04 16:58:54