如何在服务器java上存储多个文件

时间:2012-12-18 13:51:57

标签: java sockets client-server

使用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);
            }
        }
    }

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

FileOutputStream saveToServer = new FileOutputStream(yourStringVariable))