Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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 - Fatal编程技术网

Java 如何在内存中创建用于存储字符串的缓冲流?

Java 如何在内存中创建用于存储字符串的缓冲流?,java,Java,我有以下任务:使用apache.commons.net.FTPClient等创建将数据上载到FTP服务器的应用程序。有一个方法client.storeFile()允许上载文件(它需要InputStream作为方法参数之一)。但我想把txt文件放到服务器上,它应该包含字符串数组——数组是程序的变量。我应该创建文件,将字符串放入其中并将此文件传输到方法中,还是存在允许在内存中存储字符串而不创建文件的流?无论如何,谢谢你 您可以使用您可以使用,但是由于您有一个字符串数组,您可能需要首先将所有字符串连接

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

您可以使用

您可以使用,但是由于您有一个字符串数组,您可能需要首先将所有字符串连接起来,或者使用一个生成所有子输入流的

如果数组很大,我会选择第二种方法,并结合惰性枚举


顺便说一下,
StringBufferInputStream
已被弃用,因此可能需要使用
ByteArrayInputStream
String.getBytes(…)
方法来代替。

谢谢,我可以将我的字符串存储到BAOS中。但是我应该如何从ByteArrayInputStream获取InputStream呢?使用
ByteArrayInputStream
就像在
new ByteArrayInputStream(baos.toByteArray())
中一样,我想你应该直接使用
ByteArrayInputStream
字符串。getBytes
1还需要考虑一下-我如何将字符串传输到下一行?如果我使用文件,我可以使用writeLine(),但我不知道如何使用字节。