2010-04-26 77 views

回答

1

如果您要阻止線程,java.nio出了名的過於複雜。

只要使用基於流的io服務並創建一個採用輸入流和輸出流的copyStream方法,您會更好。

如果您正在討論客戶端應用程序,並且想要將數據發送給servlet,那麼只需創建一個新線程來進行流式複製,如果您正在討論Servlet應用程序,而您想要將這個文件返回給客戶端,那麼你已經運行了一個單獨的線程,並且你可以直接啓動將文件複製到ServletOutputStream的copyStream方法。

至於確定是否下載文件,你只能做出最好的猜測。例如,如果您在複製流時遇到任何錯誤,那麼您可以安全地假定文件失敗,但如果您沒有遇到任何錯誤,那麼您就不知道它是否成功完成。在所有可能的情況下,它確實如此,但你不能確定。