有一个 java.net 套接字
private Socket clientSocket;
private BufferedReader is;
private Writer out;
public ClientServiceThread(Socket clientSocket) throws IOException {
this.clientSocket = clientSocket;
clientSocket.setTcpNoDelay(true);
this.is = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
this.out = new OutputStreamWriter(this.clientSocket.getOutputStream(), "UTF-8");
String str = convert(is);
}
通过socket接收到的Base64数据量比较大。
读取数据需要很长时间。
public String convert(BufferedReader reader) throws IOException {
StringBuilder stringBuilder = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
return stringBuilder.toString();
}
如何正确、高效地读取数据,即更快地读取数据?
该问题已通过切换到 com.sun.net.httpserver.HttpServer 得到解决。在 java.net Socket 中,读取速度很慢。