Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 支持(写入)大内容输入流的正确方法_Java_Scala_Inputstream - Fatal编程技术网

Java 支持(写入)大内容输入流的正确方法

Java 支持(写入)大内容输入流的正确方法,java,scala,inputstream,Java,Scala,Inputstream,在这个场景中,我需要创建一个方法,将InputStream返回给调用者,比如: def getStream(key): (contentLength, content: InputStream) 目标是通过contentInputStream返回非常大的内容二进制(GBs) 该方法中的逻辑应该类似于: val os = new PipedOutputStream() val is = new PipedInputStream(os) for (file <- smallfiles) /

在这个场景中,我需要创建一个方法,将
InputStream
返回给调用者,比如:

def getStream(key): (contentLength, content: InputStream)
目标是通过content
InputStream
返回非常大的内容二进制(GBs)

该方法中的逻辑应该类似于:

val os = new PipedOutputStream()
val is = new PipedInputStream(os)

for (file <- smallfiles) // a sequence of small files
  os.write(file)
val os=new PipedOutputStream()
val is=新的PipedInputStream(os)

对于(我不理解的文件,
内容
输入流
getStream
必须读取的内容-它不能写入或通过它“返回”数据。我认为这不是问题。您可以逐字节读取第一个文件(使用BufferedInputStream/BufferedOutstream)完成后,关闭它们并开始读取第二个文件。您始终只打开一个输入文件-输出文件在磁盘上-而不是内存中。