java - 将输入流保存到 ByteArray

标签 java sockets encoding

我的任务是: 客户端连接到 ServerSocket 并使用他们想要的任何编码发送文件(UTF-8、ISO-8859-5、CP1251 例如)。 当服务器接收到文件内容时,脚本必须将其插入MySQL。

由于编码可能不同,我需要保存文件内容,如 ByteArray(?)。

Byt 我不知道如何从 Socket.getInputStream() 获取 ByteArray。

请帮忙解决这个问题。

提前致谢!

最佳答案

ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] tmp = new byte[4096];
int ret = 0;

while((ret = inputStream.read(tmp)) > 0)
{
    bos.write(tmp, 0, ret);
}

byte[] myArray = bos.toByteArray();

关于java - 将输入流保存到 ByteArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6790485/

相关文章:

使用 libavcodec (FFMpeg) 编码 Speex?

java - Jasperreport CSV UTF-8 没有 BOM 而不是 UTF-8

java - 当目标位于 NAT 之后时 VisualVM 远程工作?

java - 如何有效地将 2d 数组传递给 Netbeans 中的 JTable?

java - 使用两个线程创建到同一端口的两个套接字连接是否合法

python - Python中是使用http.client还是Socket包?

java - 如何在 Java 中获取 Swatch Internet Time 的当前时间?

java - 如何从标准中删除标准?

c++ - 什么时候开始担心网络代码?

c# - 上传 XML -> 读取 unicode 流并转换