我正在尝试使用 BufferedOutputStream 将字节写入文件,但我需要它在 while 循环中工作。这意味着与 TFTP 服务器一起工作。它写入的文件中完全没有任何内容(这是毫无意义的)。谁能帮我解决这个问题吗?
WRQ WRQ = new WRQ();
ACK ACK = new ACK();
DatagramPacket outPacket;
BufferedOutputStream bufferedOutput = new BufferedOutputStream(new FileOutputStream(filename));
byte[] bytes;
byte[] fileOut;
outPacket = WRQ.firstPacket(packet);
socket.send(outPacket);
socket.receive(packet);
while (packet.getLength() == 516){
bytes = WRQ.doWRQ(packet);
bufferedOutput.write(bytes);
outPacket = ACK.doACK(packet);
socket.send(outPacket);
socket.receive(packet);
}
bytes = WRQ.doWRQ(packet);
bufferedOutput.write(bytes);
outPacket = ACK.doACK(packet);
socket.send(outPacket);
最佳答案
完成后您不会关闭流。
关于java - 使用 BufferedOutputStream 通过 while 循环将字节写入文件。需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10674665/