我有这个简单的服务器/客户端应用程序。 我试图让服务器通过一个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());
所以,我的问题是,我不能获得通过流对象正确没有得到一个破碎的文件。