【问题标题】:Using OutputStream, OutputStreamWriter and BufferedWriter interchangably可互换使用 OutputStream、OutputStreamWriter 和 BufferedWriter
【发布时间】:2018-05-13 02:06:24
【问题描述】:

我正在使用 Java (Android) 尝试将文件上传到 Web 服务器,并按照推荐使用 HttpURLConnection。过去我在将数据作为 POST 请求发送时遇到了困难,但几个小时后就成功实现了。此数据是简单的 JSON 数据,因此转换不是主要问题,我使用缓冲写入器来实现目标。

现在我想使用 multipart/form-data 上传真实文件,并期望传递不同编码的混合,二进制,OutputStreamWriter(只接受字符串或 char[] args)和BufferedWriter(只允许类似的参数)。

我需要将二进制和文本数据混合发送到服务器,我想知道,最好的方法是什么?

我需要使用原始的 OutputStream 来发送字节,但是在发送 char 数组时这会与 OutputStreamWriter + BufferedWriter 层冲突吗?

或者也许我应该使用特定的方法将 UTF8 文本转换为二进制并使用字节数组全部发送?

感谢您提供的任何帮助

【问题讨论】:

标签: java android httpurlconnection bufferedwriter


【解决方案1】:

我已经决定,对于少量的整体字节(几 MB),使用输出流并将字符串转换为字节数组可能会更容易。

虽然这在内存方面效率较低(会喜欢缓冲 IO),但它要简单得多,虽然应用程序仍然简单,但它是目前要走的路。

【讨论】:

  • 如果您使用处理复杂性的库,应用程序会更加简单。
  • 我已经处理了所说的“复杂性”。与管理库相比,我个人发现编写代码更容易一些,并且是 Android 和 Java 和 Android Studio 的新手,但我对 HTTP 很熟悉,我发现自己编写代码更容易。
猜你喜欢
  • 2015-07-21
  • 1970-01-01
  • 2021-12-27
  • 2015-07-07
  • 2011-01-28
  • 2012-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多