2009-07-10 33 views
5

在我的Java代碼中,我有函數從http請求中的客戶端獲取文件,並將其轉換爲文件。我有這條線:創建文件時8192字節

byte[] buffer = new byte[8192]; 

8192字節(8 kb)是什麼意思?

This is one of the responses that I got,並且希望確保我理解該代碼。

+1

這意味着你正在創建一個緩衝區來容納大約8.2 kb的數據... – 2009-07-10 20:05:06

+0

請編輯你的問題來引用代碼的來源http://stackoverflow.com/questions/1111130/basic-file- upload-in-gwt/1111606#1111606 – 2009-07-10 20:05:37

+3

@Ed Swangren:8.2?你是在哪裏拿到的?看起來像8.0 kb完全一樣。 1024 * 8. – Beska 2009-07-10 20:07:40

回答

10

它使用緩衝區一次讀取和寫入8kB塊。這個數字是相當隨意的,但出於性能原因,在寫入文件時使用512字節的倍數是合理的,最好是多個磁盤簇大小。對於大多數用途而言,8kB是合理的緩衝區大小。

1

如果我不得不猜測,那是您在文件中讀取的空間量。如果沒有剩下的代碼,我不知道它是否試圖讀取所有代碼並將其填充到8k中,或者它正在讀取它,一次8k,然後將其轉儲到文件中。

2

這是字節數組的大小,這意味着您的緩衝區一次將保存8192個字節。

2

8192是通過網絡發送包的最大尺寸。 char buffer [8192];/*單個數據包通常不大於8192字節*/ 512字節太小。