我想知道如果java / scala在python中有“可以充当文件的字符串对象”作为StringIO吗?我认为这比写和读大量临时文件更好。我更喜欢scala,但java也应该没问题。
答案 0 :(得分:12)
我相信StringWriter
正是您所寻找的。 p>
答案 1 :(得分:5)
这取决于如何使用它。你知道,当你用Python在做文件时,你没有对Java中的File
做任何事情!好吧,除了检查权限,创建等任务
Java 和Scala 中的所有I / O都基于以下两个概念之一:
InputStream
和OutputStream
Reader
和Writer
您所做的是创建其中一个类,将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());