使用writer / reader通过套接字发送文本文件?

时间:2015-03-04 07:16:55

标签: java

有没有办法使用XXXwriter和XXXreader将文本文件从客户端发送到服务器而不是发送字节? 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以将InputStream包装在InputStreamReader中,将OutputStream包装在OutputStreamWriter中。这些类将二进制(byte[], *Stream)与java的Unicode文本(String,char,* Reader,* Writer)相连接。使用具有正确编码的构造函数。

Charset encoding = StandardCharsets.UTF_8;
String encoding = "Windows-1252";
... new InputStreamReader(inputStream, encoding);

然而,这假设流传输完成得很好。可能的错误是:

  • 忘记close,而不是所有数据都已转移;
  • 使用不需要的available();
  • 使用缓冲区到read,而不是写入读取的实际字节数,最后是旧数据。