Scala 中 java.io.InputStream 的任何替代方案?

Any alternatives to java.io.InputStream in Scala?

我正在设计一个 API 其中一个方法需要提供一种获取文件内容的方法。

我不希望该方法 return 文件位置,因为文件可能会存储在数据库中。我也不想 return 将文件内容作为 Array[Byte],因为文件可能会很大。

在 Java 中,我将创建一个 return 是 InputStream 的方法。

在 Scala 中推荐的做法是什么?

在 Scala 中推荐的做法是使用 InputStream 而不是重新发明轮子。

Scala 并没有真正妨碍 I/O。您可以 return 一个 Scala.io.Source,它实际上是 InputStream 的包装器(几乎任何东西都必须是,因为这是所有 JVM 程序都可以访问的)。

有一个有趣的 Scala I/O 库,而不是标准库,它基于 Java 7 个东西,iirc。还有 Scalaz Stream,这是最好的东西,但如果您正在处理文件,它仍然在幕后使用 InputStream