Збереження двійкових файлів в Processing

Тепер ми знаємо, що Processing вміє зберігати дані у вигляді текстового файлу У цьому прикладі ми подивимося, як можна записати дані в двійковий файл Це може бути корисним, якщо ви захочете создавть свій власний пропріетарний формат файлу

Як це робиться

Перед функцією setup () оголосимо масив цілих чисел довжиною 1000 Коли ви запустите скетч, цей масив буде заповнений випадковими числами, відповідними великими і малими літерами алфівіта

int[] numbers = new int[1000]

void setup()

{

for ( int i = 0 i &lt numberslength i++ ) { if ( random( 100 ) &lt 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( &quotstrangefile-&quot+frameCount+&quot.zzz&quot, bytes

)

exit()

}

}

Функція saveBytes () зберігає масив байтів на жорсткий диск Перший параметр це рядок з імям файлу,, а другий – це масив байтів

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

Додатково

Для відкриття щойно збереженого файлу існує функція loadBytes () Наступний код виводить всі символи, що ви бачите у правій колонці hex-редактора на цьому скріншоті, на консоль Якщо ви використовуєте той же файл, що і я, ви побачите саме ці дані

byte[] bytes = loadBytes(&quotstrangefile-56zzz&quot) println( char( bytes ) )

Джерело: Ян Вантомм, Processing 2: креативне програмування, переклад з англійської Олександри Мішутіної, Published by Packt Publishing Ltd, 2012, BIRMINGHAM – MUMBAI

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*