Button Button1 {
X = 4;
Y = 13;
Width = 265;
Height = 27;
Title = "NUL文字をチェックして読み込む";
Function OnTouch( e ) {
var fs = new FileSystem;
/* var f = fs.open( "/test.txt", FileSystem.OPEN_READ); */
var f = fs.openDialog("ファイルを開く",
"テキスト ファイル(*.txt)=*.txt","txt","test.txt");
/* バイナリで読み込みヌル文字のチェックをする */
var d = new ByteArray(f.readBinary());
var len = d.length;
var point = 0;
for( var i = 0; i < len; i++ ) {
/* NUL文字が存在するかチェック */
if(d.byteAt(i).toString(16) == "0"){
/* NUL文字位置 */
point = i+1;
}
}
if(point != 0){
/* NUL文字が存在する場合*/
^.beforeNuldata( f );
^.afterNuldata( f , point);
}else{
/* NUL文字が存在しない場合*/
^.beforeNuldata(f);
}
/* ファイルクローズ */
f.close();
}
}
-----(略)
/*
* NUL文字前方の文字列取得
*/
Function beforeNuldata( val ) {
/* ファイルの読込み位置を「0」に指定 */
val.Seek(0);
var data = val.read();
Label1.Value = data;
}
/*
* NUL文字後方の文字列取得
*/
Function afterNuldata ( val,pos ) {
/* ファイルの読込み位置をNUL文字後に指定 */
val.Seek(pos);
var data2 = val.read();
Label1.Value = str(Label1.Value) + str(data2);
}
|