FileReference를 사용하여 사용자로부터 파일을 읽었습니다. 선택한 파일의 내용으로 초기화하려는 변수가 있습니다. 나는 setters와 getters를 가진 Model 클래스를 만든다. 이것은 파일의 끝 부분에 도달했다는 오류를 던져 버리기 때문에 실제로 작동하지는 않지만. 변수를 파일로 업데이트하려면 어떻게해야합니까? 고맙습니다.eventListener 뒤 변수 업데이트
public class Main extends Sprite
{
public var fr:FileReference;
private var _model:Model;
private var button:Sprite;
public function Main():void
{
_model = new Model();
_model.addEventListener(Model.VALUE_CHANGED, fileLoaded);
trace(_model.getVariable());
}
protected function loadClicked(e:Event):void
{
fr = new FileReference();
fr.addEventListener(Event.SELECT, fileSelected);
fr.browse([new FileFilter("JSON Files (*.json)", "*.json")]);
}
public function fileSelected(event:Event):void
{
fr.addEventListener(Event.COMPLETE, fileLoaded);
fr.load();
}
public function fileLoaded(event:Event):void
{
try
{
var content:ByteArray = fr.data;
_model.setVariable(content.readUTFBytes(content.length));
}
catch (e:Error)
{
trace("Error");
}
}
}
public class Model extends EventDispatcher
{
public static const VALUE_CHANGED:String = "value_changed";
private var variable:String;
public function Model() :void
{
}
public function setVariable(newVar:String):void
{
variable = newVar;
this.dispatchEvent(new Event(Model.VALUE_CHANGED));
}
public function getVariable():String {
return variable;
}
}