- 技術情報
- 【スクリプト】一定サイズごとにファイル分割
SDロガー5
技術情報
【スクリプト】一定サイズごとにファイル分割
SDロガー、CFロガーのスクリプト、「#FCHANGE」文を使えば、一定サイズごとにファイルを分割することが出来ます。
以下にその例を示します。
■1024バイトごとにファイルを分割する例
#LOOP EVER
#WAIT BYTE 1024
#FCHANGE
#END
■100000バイトごとにファイルを分割する例(60000バイト以上のサイズを指定したい場合)
#LOOP EVER
#LOOP 100
#WAIT BYTE 1000
#END
#FCHANGE
#END
「#WAIT BYTE」文で待てるのは最大60000バイトまでです。
60000バイト以上のサイズを分割したい場合は、このように何回かループさせることで、行なえます。
■1024バイトを超えた改行でファイルを分割
#LOOP EVER
#WAIT BYTE 1024
#WAIT DATA :0D0A
#FCHANGE
#END
「#WAIT BYTE」文だけでは、データの切れ目とは関係なく、ファイルが分割されてしまいます。
例えば対象のデータがテキストデータの場合、つぎの改行まで待ってファイル分割したい場合は、このようなスクリプトで、行なえます。
■
なおスクリプトの実行には少しの時間がかかります。スクリプト文実行中に高速にデータを受信した場合には、カウントや、待ち解除の取りこぼしが発生する場合があります。取りこぼしが発生した場合は、分割されたファイルのサイズが、意図したサイズより少し大きくなる場合があります。
また、「#FCHANGE」文の実行には、他の文より多くの時間がかかります。「#FCHANGE」文実行中に大量のデータを受信した場合は、データ通信上のエラーが発生することがあります。