我有这个简单的服务器/客户端应用程序。我试图让服务器通过 OutputStream(FileOutputStream、OutputStream、ObjectOutputStream 等)发送文件并在客户端接收它,然后再将其保存到实际文件中。问题是,我试过这样做,但总是失败。每当我创建文件并将从服务器收到的对象写入其中时,我都会得到一个损坏的图像(我只是将它保存为 jpg,但这不重要)。以下是最有可能出现故障的代码部分(您在此处看到的所有看似未声明的对象都已事先声明):
服务器:
ObjectOutputStream outToClient = new ObjectOutputStream(
connSocket.getOutputStream());
File imgFile = new File(dir + children[0]);
outToClient.writeObject(imgFile);
outToClient.flush();
客户:
ObjectInputStream inFromServer = new ObjectInputStream(
clientSocket.getInputStream());
ObjectOutputStream saveImage = new ObjectOutputStream(
new FileOutputStream("D:/ServerMapCopy/gday.jpg"));
saveImage.writeObject(inFromServer.readObject());
所以,我的问题是如果没有损坏的文件,我就无法正确地通过流获取对象。