scala/java是否有类似于python中StringIO的东西?

scala/java是否有类似于python中StringIO的东西?,java,scala,Java,Scala,我想知道java/scala是否有“可以充当文件的字符串对象”作为python中的StringIO?我认为这比写和读很多临时文件要好。我更喜欢scala,但java one也应该不错。java有最好的 我相信这就是你想要的。这取决于如何使用它。你看,当你用Python处理文件时,你不用Java处理文件!嗯,除了检查权限、创建等任务之外 Java和Scala中的所有I/O都基于以下两个概念之一: InputStream和OutputStream 读卡器和写卡器 您要做的是创建这些类中的一个,并

我想知道java/scala是否有“可以充当文件的字符串对象”作为python中的StringIO?我认为这比写和读很多临时文件要好。我更喜欢scala,但java one也应该不错。

java有最好的


我相信这就是你想要的。

这取决于如何使用它。你看,当你用Python处理文件时,你不用Java处理
文件!嗯,除了检查权限、创建等任务之外

Java和Scala中的所有I/O都基于以下两个概念之一:

  • InputStream
    OutputStream
  • 读卡器
    写卡器
您要做的是创建这些类中的一个,并将
文件作为参数传递。因此,如果您使用的任何API都是为了接收
文件
,那么您对此无能为力。但是,API通常采用上述类别之一,而不是
文件
,并且所有这些类别都有可用的字符串版本


至于Scala,还有
Scala.io.Stream
,您也可以基于
字符串创建一个

,我不确定这是否是我想要的。我想知道是否有一个类可以像字符串一样进行操作,但也可以用作希望文件作为参数的函数的参数。@Tg:不,在这种情况下,您无能为力,因为文件基本上是路径的包装器,它本身没有任何访问内容的方法。好的。我想使用StringIO,因为我在python中大量使用了它。我想我必须先把它写下来。我的意图是,由于数据是用java/scala生成的,所以我不想在将数据传递给另一个需要文件的函数(我没有文件源)之前将其写入磁盘。但在编写自己的代码时,我会记住这一点。谢谢你的解释。
OutputStream out = new ByteArrayOutputStream();
out.write(...);
String result = new String(out.toByteArray());