如何将String保存到AS3中的文件中?

时间:2009-08-05 17:00:53

标签: flex flash actionscript-3 filereference

我有一个用户键入的字符串,我想将其保存到用户硬盘上的文件中。你能做到吗?如果是这样,怎么样?

4 个答案:

答案 0 :(得分:9)

是的,您可以使用FileReference。 这基本上就是这样做的:

var bytes:ByteArray = new ByteArray();
var fileRef:FileReference=new FileReference();
fileRef.save("fileContent", "fileName");

看起来不太难,是吗? 以下是关于它的视频教程:

http://www.gotoandlearn.com/play?id=76

文档:

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/

希望有所帮助。

答案 1 :(得分:5)

由于我有一个将字节输出到文件的函数(因为我正在使用位图执行某些操作),所以我重复使用它来输出字符串,如下所示:

var filename:String = "/Users/me/path/to/file.txt";
var byteArray:ByteArray = new ByteArray();
byteArray.writeUTFBytes(someString);
outFile(filename, byteArray);

private static function outFile(fileName:String, data:ByteArray):void {
    var outFile:File = File.desktopDirectory; // dest folder is desktop
    outFile = outFile.resolvePath(fileName);  // name of file to write
    var outStream:FileStream = new FileStream();
    // open output file stream in WRITE mode
    outStream.open(outFile, FileMode.WRITE);
    // write out the file
    outStream.writeBytes(data, 0, data.length);
    // close it
    outStream.close();
}

答案 2 :(得分:3)

此外,您必须在Flex Builder 3中安装Flash Player 10和Flex Gumbo SDK。

您还可以查看以下示例: http://blog.flexexamples.com/2008/08/25/saving-files-locally-using-the-filereference-classs-save-method-in-flash-player-10/

答案 3 :(得分:1)

在Flex 3中,除非您将文件上传到服务器,然后通过网址将文件下载到桌面,否则您无法执行此操作。

在Air或Flex 4中,您可以将其直接从应用程序保存到桌面,如上所述。

相关问题