8192 байта при создании файла

В моем коде Java есть функция, которая получает файл от клиента в запросе http и преобразует его в файл. У меня есть эта строка там:

byte[] buffer = new byte[8192];

что значит 8192 байта (8 кб)?

Это один из ответов, которые я получили хочу убедиться, что я понимаю этот код.

 Tom Hawtin - tackline10 июл. 2009 г., 23:37
Если вы создаете жесткие диски, не должно ли это быть 12 КБ?
 Ed S.10 июл. 2009 г., 22:05
Это означает, что вы создаете буфер для хранения примерно 8,2 КБ данных ...
 Beska10 июл. 2009 г., 22:07
@ Эд Свангрен: 8,2? Где ты это взял? Похоже, 8.0 кб точно. 1024 * 8.
 Jeremy Stein10 июл. 2009 г., 22:05
Пожалуйста, измените ваш вопрос, чтобы ссылаться на источник кода наstackoverflow.com/questions/1111130/basic-file-upload-in-gwt/…
 Ed S.10 июл. 2009 г., 22:11
Дер, извини, твое право. Я не делаю жесткие диски здесь :), деление на 10 неправильно. Я просто говорил, что смысл кода сам по себе очень очевиден.

Ответы на вопрос(4)

Решение Вопроса

что он использует буфер для чтения и записи блоков 8 КБ одновременно. Это число довольно произвольно, но по соображениям производительности имеет смысл использовать кратное 512 байт при записи файла и предпочтительно кратное размеру кластера дисков. 8 КБ - это разумный размер буфера для большинства целей.

 21 янв. 2012 г., 21:31
Почему кратно 512?

это количество места, которое вы используете для чтения в файле. Без остальной части кода я не могу сказать, пытается ли он прочитать все это и втиснуть его в 8k или если он читает в 8k за раз, а затем выгрузить его в файл.

 10 июл. 2009 г., 22:07
Как мы можем ответить на это, когда вы не показываете нам никакого исходного кода, кроме объявления / определения массива?
 10 июл. 2009 г., 22:05
Затем он читает по 8 Кб за раз и отправляет это в файл перед тем, как захватить следующий фрагмент 8 Кб. Оправдание состоит в том, что 8k - разумный компромисс между вращением ваших колес, вызывающих функции, и потерей места, когда вы добираетесь до конца файла, потому что во многих файловых системах он достаточно близок к размеру блока.
 Maksim10 июл. 2009 г., 22:01
Проверьте этот ответ:stackoverflow.com/questions/1111130/basic-file-upload-in-gwt/… Здесь у меня есть этот номер

означающий, что в вашем буфере одновременно будет храниться 8192 байта.

8192 - максимальный размер посылки, отправляемой по сети. / * отдельные пакеты обычно не превышают 8192 байта * / 512 байт слишком мало.

 16 окт. 2018 г., 09:30
Этот комментарий, похоже, был скопирован сA brief programming tutorial in C for raw socketsи неверно истолкован как «максимальный размер пакета [sic]»;which it is not.
 13 июн. 2016 г., 19:38
Можете ли вы предоставить некоторыеreferences об этой претензии: & quot;8192 is maximum size of a package sending via network& Quot ;?

Ваш ответ на вопрос