如标题所示,得到错误“ outputsteam是抽象的”。我是Java的新手,所以不太确定如何解决它。我的程序正在尝试使用此代码通过套接字将连接的数组列表发送到客户端。

public void sendList(Socket clientSocket, ArrayList connections) throws IOException
{
    OutputStream outputStream = new OutputStream(clientSocket.getOutputStream(), true);
    ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);
    objectOutputStream.writeObject(connections);
    System.out.println("List sent");
}


提前致谢!

最佳答案

错误消息告诉您确切的问题是:您不能在抽象类上调用构造函数,而是必须启动OutputStream的具体子类之一。可能是一个包裹了clientSocket OutputStream的BufferedOutputStream。

你为什么还要有这条线?

OutputStream outputStream = new OutputStream(clientSocket.getOutputStream(),
             true);


为什么不直接使用来自clientSocket的OutputStream?

09-25 21:58