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