らいちの自由気ままなブロク -23ページ目

らいちの自由気ままなブロク

えーとこちらのブロクは、基本的日常のことと実況やラジオなどのYouTubeやツイキャス関係時たまプログラムについてなどいろいろです!
まぁ読者になってくれると嬉しいです!
面白いとかいいねとか思ったらお友達にでもURLを回して下さい、お願いします

こんにちはです!
早速なんですが
前回お話した
バイナリデータのことについてお話しますね♪

前回データは
バイト配列
と、お話しました
ではどうやってデータを格納するかで
NFDデータを提案しました。
でもそもそもどうやって保存するか話して行きましょう
今回もJavaで書いて行きます

private byte[] data ;

はい、これだけです。
これでバイトデータが宣言できましたが
ここにはnull
つまり何のデータも入ってません
なぜ=で変数を代入しないかは分かる人なら分かるかも知れませんが
代入する際に要素数を決めなければいけないからです。
しかしまだどのサイズのデータが入るか分からないのでnullにしておきます

では、ここにデータを格納できるようにしましょう。
今回はただ単にbyteデータを格納するだけなので複雑なことはしません

/**
 * バイトデータを追加します
 * @param Data バイトデータ
 */
 private void addByte(byte Data) {
  if(data == null){
   data = new byte[]{Data} ;
    return;
   }
  byte[] buffer = new byte[data.length];
  System.arraycopy(data, 0, buffer, 0,data.length);
  data = new byte[buffer.length+1];
  System.arraycopy(buffer, 0, data, 0, buffer.length);
  data[data.length-1]=Data;
}

はい、解説して行きますね
一見、「は?」って思うかも知れませんがやっていることは簡単です。

まず最初のIF文で配列が入っているか調べ入って居なければそのまま第一要素として格納します
入って居る場合はデータラインをバッファに一時コピーしデータの要素数を1つ増やして作り直します
そしてバッファのデータをデータラインにコピーして最後に加えるデータをそのまま加えます。
これでデータの追加は完了です

ね?簡単でしょう?(^∇^)
じゃ、次回は文字列の変換を解説します('-^*)/

蛇足
この解説はファイルの書き出しまで行いません
なぜならファイルのクラスを独自で作ってしまったからです。
ファイルへのバイト配列書き出しは簡単なのでググってがんばって下さい