声明的变量

protected Socket fileSocket;
protected OutputStream os;
fileSocket = new Socket(host, port + 1);
os = fileSocket.getOutputStream();

并在下一个代码中使用
File file;
FileInputStream fis;
int readBytes;
try
{
    if(fileSocket.isOutputShutdown())
    {
        fileSocket.setKeepAlive(true);//this line
    }
    sendToServer(message);
    bufFileName = message.toCharArray();
    fileName = new String(bufFileName, 6, bufFileName.length - 6);
    file = new File(fileName);
    fis = new FileInputStream(file);
    while ((readBytes = fis.read()) != -1)
    {
        os.write(readBytes);
        os.flush();
    }
    fileSocket.shutdownOutput();
    fis.close();
    clientUI.display("Trans complete");

我发送一个文件并关闭fileSocket。
而且我想重用filesocket,但是找不到合适的方法。
我应该怎么做?

最佳答案

只需实例化一个新的套接字。您不能使用已经关闭的套接字。这就想尝试对已经关闭的文件流执行文件操作。

10-07 23:29