gpt4 book ai didi

flash - 是否可以嵌入文件夹中的所有文件?

转载 作者:行者123 更新时间:2023-12-02 06:22:53 24 4
gpt4 key购买 nike

我想嵌入给定文件夹的所有 xml 文件。现在我正在做这样的事情:

[Embed(source="../somefolder/file1.xml", mimeType="application/octet-stream")]
private var MyClass1:Class;

[Embed(source="../somefolder/file2.xml", mimeType="application/octet-stream")]
private var MyClass2:Class;

[Embed(source="../somefolder/file3.xml", mimeType="application/octet-stream")]
private var MyClass3:Class;

var file:XML;
var bytes:ByteArray;

switch (fileId) {
case 1:
bytes = new MyClass1();
break;
case 2:
bytes = new MyClass2();
break;
case 3:
bytes = new MyClass3();
break;
}

file = new XML(bytes.readUTFBytes(bytes.length));

XML 文件列表将增加到 10 个以上文件,因此我正在寻找一种更优雅、更动态的方式来嵌入这些文件。

文件应该在编译时嵌入,通过 URLLoader 加载它们不是一个选项。

有什么想法吗?

最佳答案

我认为没有办法做类似的事情:

[Embed(source="../somefolder/*", mimeType="application/octet-stream")]

但是您可以使用 Zip 文件并访问他的内容。我经常用http://nochump.com/blog/archives/15做这类事情:

package
{
import flash.display.Sprite;
import flash.utils.ByteArray;

import nochump.util.zip.ZipEntry;
import nochump.util.zip.ZipFile;


public class TestTextfield extends Sprite
{
[Embed(source="files.zip", mimeType="application/octet-stream")]
private var zipContent:Class;

public function TestTextfield()
{
var zip : ZipFile = new ZipFile(new zipContent);

for each(var entry : ZipEntry in zip.entries)
{
var entryContent : ByteArray = zip.getInput(entry);

if(entry.name.indexOf(".xml") != -1)
{
var xmlContent : XML = new XML(entryContent.readUTFBytes(entryContent.bytesAvailable));
trace("File " + entry.name +" :\n" + xmlContent);
}
}
}

}
}

此示例将显示嵌入文件.zip 中包含的所有 XML 文件内容

关于flash - 是否可以嵌入文件夹中的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6187623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com