Tag: bytearray输入

使用FileInputStream / ObjectOutputStream发送大文件

我的作业需要帮助,非常感谢任何帮助。 我可以毫无问题地发送小文件。 但是当我尝试发送时,假设一个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);