Главная » Processing » Сохранение двоичных файлов в Processing

0

Теперь мы знаем, что Processing умеет сохранять данные в виде текстового файла. В этом примере мы посмотрим, как можно записать данные в двоичный файл. Это может быть полезным, если вы захотите создавть свой собственный проприетарный формат файла.

Как это делается

Перед функцией setup() объявим массив целых чисел длиной 1000. Когда вы запустите скетч, этот массив будет заполнен случайными числами, соответствующими прописным и строчным буквам алфивита.

int[] numbers = new int[1000];

void setup()

{

for ( int i = 0; i < numbers.length; i++ ) { if ( random( 100 ) < 50 ) {

// uppercase A – Z

numbers[i] = floor( random( 65, 91 ) );

} else {

// lowercase a – z

numbers[i] = floor( random( 97, 123 ) );

}

}

}

В функции draw() мы конвертируем массив целых чисел в массив байтов и используем метод saveBytes() для сохранения данных на жестком диске.

void draw()

{

if ( keyPressed ) {

byte[] bytes = byte( numbers );

saveBytes( "strangefile-"+frameCount+".zzz", bytes

);

exit();

}

}

Функция saveBytes() сохраняет массив байтов на жесткий диск. Первый параметр это строка с именем сохраняемого файла, а второй – это массив байтов.

Когда вы откроете файл в текстовом редакторе, вы увидите множество странных символов. Если нужно увидеть реальные данные, вам нужно открыть этот файл в hex- редакторе. Я использовал HexEdit для Mac OS X; для Windows и Linux существую похожие приложения. На следующем скриншоте изображено содержимое только что сохраненного файла. В колонке справа вы можете видеть строчные и прописные символы.

Дополнительно

Для открытия только что сохраненного файла существует функция loadBytes(). Следующий код выводит все символы, что вы видите в правой колонке hex-редактора на этом скриншоте, на консоль. Если вы используете тот же файл, что и я, вы увидите именно эти данные.

byte[] bytes = loadBytes("strangefile-56.zzz"); println( char( bytes ) );

Источник: Ян Вантомм, Processing 2: креативное программирование, перевод с английского Александры Мишутиной, Published by Packt Publishing Ltd., 2012, BIRMINGHAM – MUMBAI.

По теме:

  • Комментарии