テキスト ファイルの最後の 3 行を削除するか、ActionScript 3.0 を使用して最後の 3 行を書き直す必要があります。
ファイルを追加する方法は理解していますが、ファイルストリームを使用して行を数える方法がわかりません。
テキスト ファイルの最後の 3 行を削除するか、ActionScript 3.0 を使用して最後の 3 行を書き直す必要があります。
ファイルを追加する方法は理解していますが、ファイルストリームを使用して行を数える方法がわかりません。
またはそれを試してください:
private function trimTextFile(txtFile:File, trimNum:uint):Boolean{
if(txtFile.exists){
var stream:FileStream = new FileStream();
stream.open(txtFile, FileMode.READ);
var tmp:Array = stream.readUTFBytes(stream.bytesAvailable).split("\n");
stream.close();
stream.open(txtFile, FileMode.WRITE);
for(var i:int = 0; i < tmp.length - trimNum; i++){
stream.writeUTFBytes(tmp[i] +"\n");
}
stream.close();
return true;
}else{
return false;
}
}
そして、このように呼び出します
this.trimTextFile(File.desktopDirectory.resolvePath("test.txt"), 3);
これを試して、
var loader:URLLoader = new URLLoader(); //Creating a loader object
var myArray : Array;
loader.addEventListener(Event.COMPLETE, onLoaded); //On complete event handler
function onLoaded(e:Event):void {
var myArray:Array = e.target.data.split(/\n/);
//once you have all the lines as elements of the array you can change them
myArray[myArray.length -1] = "ABC";
myArray[myArray.length -2] = "DEF";
myArray[myArray.length -3] = "GHI";
}
loader.load(new URLRequest("myFile.txt"));
//Then write out the contents of the array,
var f:File=new File("path\to\file.txt");
var handle:FileStream=new FileStream();
handle.open(f, FileMode.WRITE);
handle.writeUTFBytes(myArray);
handle.close();