如何制作缓冲流用于在内存中存储字符串?

时间:2012-01-12 17:45:44

标签: java

我有以下任务:使用apache.commons.net.FTPClient等申请将数据上传到FTP服务器。有方法client.storeFile()允许上传文件(它需要InputStream作为方法参数之一)。但是我想将txt文件放入服务器中,该服务器应该包含字符串数组 - 数组是程序的变量。我应该创建文件,将字符串放入其中并将此文件传输到方法中,还是存在允许在不创建文件的情况下将字符串存储在内存中的流?还是非常感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用ByteArrayOutputStream

答案 1 :(得分:1)

您可以使用StringBufferInputStream,但由于您有一个字符串数组,您可能需要先连接所有字符串,或者使用SequenceInputStream生成所有子输入流...

如果您的数组很大,我会选择第二个,加上一个惰性枚举。

顺便说一下,StringBufferInputStream已被弃用,因此可能需要使用ByteArrayInputStreamString.getBytes(...)方法。