在AS3上写入txt文件 - 1120:访问未定义属性FileMode

时间:2015-04-25 19:30:59

标签: actionscript-3 flash air file-writing

我正在尝试使用AS3在.txt文件中写入,但遗憾的是我无法编译代码。我遵循了几个教程,我无法解决我的问题。如果有可能帮助我。

import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.filesystem.File;
import flash.net.URLRequest;
import flash.filesystem.FileStream;

stop();

myButton.addEventListener(MouseEvent.CLICK, loadComplete);

function  loadComplete(event:MouseEvent):void
{
    var file:File = File("test.txt")
    var stream:FileStream = new FileStream();
    //stream.open(file, FileMode.WRITE);
    stream.open(file,FileMode.WRITE);
    stream.writeUTFBytes("This is my text file.");
    stream.close();

 }

我收到的错误是“1120: Access of undefined property FileMode.”。抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

错误显示了您,因为您没有导入FileMode类。

import flash.filesystem.FileMode;

注意: Adob​​e AIR版本仅支持`文件,据我所知。

  1. 如果您想在没有任何提示的情况下编写test.txt文件
  2. var file:File = File.desktopDirectory.resolvePath("test.txt"); var
     stream:FileStream = new FileStream();    
     stream.open(file,FileMode.WRITE); stream.writeUTFBytes("This is my
     text file."); stream.close();
    
    1. 如果你想用提示
    2. import flash.filesystem.*;
      import flash.events.Event;
      
      var docsDir:File = File.documentsDirectory;
      function loadComplete(event:MouseEvent):void {
        try {
            docsDir.browseForSave("Save As");
            docsDir.addEventListener(Event.SELECT, saveData);
        } catch (error:Error) {
            trace("Failed:", error.message);
        }
      }
      
      function saveData(event:Event):void {
        var newFile:File = event.target as File;
        var str:String = "Hello.";
        if (! newFile.exists) {
            var stream:FileStream = new FileStream();
            stream.open(newFile, FileMode.WRITE);
            stream.writeUTFBytes(str);
            stream.close();
        }
      }
      

      Reference