这里需要用到一个特殊的类ByteArrayOutputStream,利用他,我们可以将输出流在内存中直接转换成String类型。
具体代码如下:
首先从输入流中将数据读出来写入ByteArrayOutputStream,然后再将其转换成String.
InputStream in = urlconn.getInputStream();//获取输入流
ByteArrayOutputStream bos = new ByteArrayOutputStream();
//读取缓存
byte[] buffer = new byte[2048];
int length = 0;
while((length = in.read(buffer)) != -1) {
bos.write(buffer, 0, length);//写入输出流
}
in.close();//读取完毕,关闭输入流
// 根据输出流创建字符串对象
new String(bos.toByteArray(), "UTF-8");
//or
//bos.toString("UTF-8");
根据同样的原理,我们可以将outputstream直接转换成String对象。
分享到:
相关推荐
在Java编程中,有时我们可能需要将一个已经写入数据的`OutputStream`转换为`InputStream`,以便重新读取这些数据。这种情况通常出现在临时存储或处理数据时,例如在网络传输或者存储到内存中的场景。本篇文章将深入...
将一个String转化为InputStream,主要是将字符串转换成字节数组,然后创建一个ByteArrayInputStream。这种方法简单快捷,但会占用一定的内存空间。示例代码如下: ```java public InputStream string2...
在这个场景中,"文件转换(inputString)"可能是指将一个字符串(String)形式的数据转换为InputStream对象,或者反过来,将InputStream对象转化为字符串。这通常发生在我们需要在网络上传输数据、存储数据或者在...
- 字节流(InputStream/OutputStream)则主要用于处理二进制数据,不涉及字符编码问题。 - **装饰器模式**:Java IO流的设计采用了装饰器模式,使得可以通过组合不同的流来构建具有复杂功能的流。例如,可以通过...
在Android开发中,有时我们需要将文件转换为字符串(String)以便于在网络上传输或存储,同时也有时需要将字符串恢复为原始文件。Base64是一种常见的编码方式,它可以把二进制数据转换成ASCII字符串形式,同时又能...
- **InputStream/OutputStream**:字节输入流和字节输出流是字节流的基类,用于处理所有字节数据的输入和输出。例如,FileInputStream和FileOutputStream分别用于读取和写入文件。 - **FilterStream**:字节过滤流...
- **字面量转换**: 直接使用`getBytes()`方法将字符串转化为字节数组。例如,`byte[] bytes = "Hello".getBytes();` 这个方法使用平台默认的字符编码,如果需要特定编码(如UTF-8),可以传递编码名称作为参数,如`...
2. **InputStream/OutputStream**:`java.io.InputStream`和`java.io.OutputStream`分别用于读取和写入数据。在Telnet客户端中,我们通常使用`Socket.getInputStream()`和`Socket.getOutputStream()`来获取与远程...
在 DELPHI 中,文件操作是通过 TFileStream 来实现的,而在 JAVA 中,则是通过 InputStream/OutputStream 和 RandomAccessFile 来实现的。 目录操作 在 DELPHI 中,目录操作是通过 FindFirst 等来实现的,而在 ...
原始处理器(适配器)是用来将不同类型的输入/输出资源转换为InputStream或OutputStream的类。例如,ByteArrayInputStream可以从字节数组创建一个输入流,FileInputStream可以从文件创建输入流,而PipedInputStream...
流分为字节流和字符流,如InputStream/OutputStream(字节流)和Reader/Writer(字符流)。还有Filter流用于添加额外功能,以及缓冲流(BufferedInputStream/BufferedReader)提高性能。 总之,理解和掌握这些...
`InputStreamReader`可以从InputStream转换为Reader,`OutputStreamWriter`则将OutputStream转换为Writer,以支持字符级别的I/O操作。这是因为有些情况需要处理多语言字符集,如UTF-8,这时使用Reader和Writer会更加...
- **InputStreamReader/OutputStreamWriter**:处理流,用于将字节流对象转换为字符流对象。 - **PrintStream**:处理流,用于包装`OutputStream`,使其可以方便地输出字符。 #### 八、读取文件的简易示例 下面...
Android应用需要先将文件转换为字节数组,然后通过Socket的OutputStream发送。服务器端接收到字节流后,将其保存到本地文件系统。 四、关键代码示例 在"SocketTestOfAndroid"和"NewSocketTest"这两个文件中,可能...
在Android开发中,字符输入输出流(InputStream和OutputStream)是处理数据传输的关键工具,尤其是在读取和写入文件时。本文将深入探讨Android中的字符串输入输出流,以及如何使用它们来实现对文档的操作。 首先,...
- **Java I/O操作**: 在Java中进行I/O操作时,通常涉及到`InputStream`和`OutputStream`等类,这些类通常操作的是`byte[]`。因此,在处理文本数据时,需要特别注意字符集的选择。 - **网络通信**: 在Web开发中,处理...
* StringBufferInputStream,将 String 转换成 InputStream; * FileInputStream,用于从文件中读取信息; * PipedInputStream,产生用于写入相关 PipedOutputStream 的数据,实现“管道化”概念; * ...
发送数据前,需要先将其转换为字节流,如使用String的getBytes()方法。 5. 多用户聊天 在多用户聊天环境中,服务器需要维护一个客户端连接列表,每当接收到一个消息,它需要广播这个消息给所有已连接的客户端。这...
- 选项2“InputStream/OutputStream和Reader/Writer的区别是前者是二进制流后者是文本流”是错误的。实际上,InputStream/OutputStream处理的是字节流,而Reader/Writer处理的是字符流。尽管字节流通常用于处理二...
例如`copyFileUsingInputStreamOutputStream(String srcPath, String destPath)`和`copyFileUsingFileChannels(String srcPath, String destPath)`,分别利用InputStream/OutputStream和FileChannel实现文件复制。...