0

我正在使用客户端服务器应用程序javasockets 已经实现了基本的客户端和服务器,客户端可以将图片发送到服务器并且服务器存储它们但我不知道如何存储多个文件。目前我使用以下代码存储从客户端收到的文件

while(true)
    {
        Socket connectionSocket = serverSocket.accept();
        try (DataInputStream receivedFromClient = new DataInputStream(connectionSocket.getInputStream());
                FileOutputStream saveToServer = new FileOutputStream("files/file.jpg"))
        {    
            int i;
            while ((i = receivedFromClient.read()) > -1)
            {
                saveToServer.write(i);
            }
        }
    }

这就是我保存一个文件的方式,并且该文件会被服务器接收到的任何新文件覆盖。我想存储客户端发送的多个文件,我该怎么做?另外,我将如何设置收到的文件的名称?

4

1 回答 1

1

将文件名参数添加到此代码块所在的方法,以允许您传递文件名。或者如果合适的话,使用静态计数器自动增加文件名。

问题是您每次都使用相同的文件名,因为它在这里是硬编码的:

FileOutputStream saveToServer = new FileOutputStream("files/file.jpg"))

相反,您传递给 FileOutputStream 的字符串应该是可变的,例如。

FileOutputStream saveToServer = new FileOutputStream(yourStringVariable))
于 2012-12-18T13:55:48.283 回答