当前位置: 首页 > 面试题库 >

如何在Java中将InputStream转换为字符串?

凤棋
2023-03-14
问题内容

假设我有一个InputStream包含文本数据的文件,并且想将其转换为String(例如,这样我就可以将流的内容写入日志文件)。

InputStream将并将其转换为的最简单方法是String什么?

public String convertStreamToString(InputStream is) { 
    // ???
}

问题答案:

这是我的版本

public static String readString(InputStream inputStream) throws IOException {

    ByteArrayOutputStream into = new ByteArrayOutputStream();
    byte[] buf = new byte[4096];
    for (int n; 0 < (n = inputStream.read(buf));) {
        into.write(buf, 0, n);
    }
    into.close();
    return new String(into.toByteArray(), "UTF-8"); // Or whatever encoding
}


 类似资料:
  • 问题内容: 给定一个字符串: 如何将其转换为? 问题答案: 像这样: 请注意,这假设你需要一个,它是一个字节流,它表示编码为UTF-8的原始字符串。 对于小于7的Java版本,请替换为。

  • 我想将文件输入流转换为S3ObjectInputStream。 这是我当前的代码: 然而,它给出了错误:

  • 有一种方法可以将输入流转换为字符串,并将其编码为base64,对吗? 在我的函数中,我得到了InputStream参数,需要将其插入到Oracle数据库表的BLOB字段中。 有办法做到吗? (我的数据库对象包含用于保存图像的字符串字段,但我找不到任何方法将InputStream转换为base 64格式的字符串。)

  • 问题内容: 我的背景是.net,我刚接触Java。我正在为公司的Java团队做一些工作,架构师需要我实现采用InputStream(java.io)对象的方法。为了实现该方法的目的,我需要将其转换为字节数组。是否有捷径可寻? 问题答案: 最简单的方法是创建一个new ,将字节复制到其中,然后调用:

  • 我正在开发一个使用Quickblox聊天API的聊天应用程序,目前已经完成了用户注册、身份验证和基本的点对点聊天和群聊。现在实现了视频、图像和文件的发送,但在某些部分上有所改进。 > 从sd卡中选择图像。返回string格式的图片路径,并且其未转换为InputStream。在SOF上尝试了10-15个答案。我的代码如下: 受保护的无效onActivityResult(int requestCode

  • 问题内容: 如何将整个读入字节数组? 问题答案: 你可以使用Apache Commons IO处理此任务和类似任务。 该类型具有静态方法来读取和返回。 在内部,这会创建一个并将字节复制到输出中,然后调用。它通过复制4KiB块中的字节来处理大型文件。 分享改善这个答案