我的作业需要帮助,任何帮助将不胜感激。我可以毫无问题地发送小文件。但是当我尝试发送时,假设一个 1GB 文件字节数组发送 OutOfMemoryError 所以我需要一个更好的解决方案来将文件从服务器发送到客户端。我该如何改进此代码并发送大文件,请帮助我。
服务器代码:
FileInputStream fis = new FileInputStream(file);
byte[] fileByte = new byte[fis.available()]; //This causes the problem.
bytesRead = fis.read(fileByte);
oos = new ObjectOutputStream(sock.getOutputStream());
oos.writeObject(fileByte);
客户代码:
ois = new ObjectInputStream(sock.getInputStream());
byte[] file = (byte[]) ois.readObject();
fos = new FileOutputStream(file);
fos.write(file);