scala / java有类似python的StringIO吗?

时间:2011-11-25 00:04:51

标签: java scala

我想知道如果java / scala在python中有“可以充当文件的字符串对象”作为StringIO吗?我认为这比写和读大量临时文件更好。我更喜欢scala,但java也应该没问题。

3 个答案:

答案 0 :(得分:12)

我相信StringWriter正是您所寻找的。

答案 1 :(得分:5)

这取决于如何使用它。你知道,当你用Python在文件时,你没有对Java中的File做任何事情!好吧,除了检查权限,创建等任务

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

  • InputStreamOutputStream
  • ReaderWriter

您所做的是创建其中一个类,将File作为参数传递。因此,如果您使用的任何API都打算收到File,那么您就无法做任何事情。但是,API通常会使用上述类之一,而不是File,并且所有类都具有字符串版本。

至于Scala,还有scala.io.Stream,你也可以根据String创建一个。{/ p>

答案 2 :(得分:3)

Java有ByteArrayOutputStream

OutputStream out = new ByteArrayOutputStream();
out.write(...);
String result = new String(out.toByteArray());