英文:
How to covert a BufferedSource in scala to InputStream?
问题
我可以帮你将英文部分翻译成中文:
scala.io.Source.fromResource("keystore.jks")
这行代码是在Scala中从类路径中读取名为 "keystore.jks" 的文件,使用了scala.io.Source.fromResource
方法,该方法返回一个BufferedSource
对象。你想知道如何将它转换为InputStream
,因为某个Java方法需要接受InputStream
作为输入。
英文:
I was reading a file from classpath in scala using scala.io.Source using fromResources which provides with a BufferedSource. How can I convert it to an InputStream as a java method invoked expects inputstream.
scala.io.Source.fromResource("keystore.jks")
答案1
得分: 1
你可以将一个BufferedSource
转换为byte[]
,并将其放入ByteArrayInputStream
中,类似以下代码可以实现:
import scala.io.Source
import java.io.InputStream
val bufferedSource: Source = Source.fromResource("keystore.jks")
val inputStream: InputStream = new java.io.ByteArrayInputStream(bufferedSource.getLines().mkString("\n").getBytes(java.nio.charset.StandardCharsets.UTF_8))
英文:
You can convert a BufferedSource to byte[]
and put it ByteArrayInputStream: something like this will work:
import scala.io.Source
import java.io.InputStream
val bufferedSource: Source = Source.fromResource("keystore.jks")
val inputStream: InputStream = new java.io.ByteArrayInputStream(bufferedSource.getLines().mkString("\n").getBytes(java.nio.charset.StandardCharsets.UTF_8))
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论