Flex读取 .txt文件的内容到一个文本控件里,显示即可。希望能把整个mxml的代码都附上,谢谢!

 我来答
匿名用户
2013-11-29
展开全部

挺简单的,用File类选文件,FileStream读(或者写等操作)

<?xml version="1.0"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">
    <fx:Script><![CDATA[
        private function button1_clickHandler(e:MouseEvent):void {
            var file:File = File.applicationDirectory.resolvePath('a.txt');
            var fs:FileStream = new FileStream();
            fs.open(file, FileMode.READ);
            label.text = fs.readUTFBytes(fs.bytesAvailable);
            fs.close();
        }
        ]]></fx:Script>
    <s:Button click="button1_clickHandler(event)" label="test"/>
    <s:Label id="label" y="30">click test button to load file</s:Label>
</s:WindowedApplication>
追问
谢谢你啊,不过这样读出来的txt内容是乱码也,我听人说好像是什么要把里面的内容转换成流,然后再tostring()成字符读出来,这样的话,你能帮忙解决下吗?
追答
label.text = fs.readMultiByte(fs.bytesAvailable, "utf-8");

用这个方法,改成你txt的编码即可

百度网友de74bac
2013-11-29 · TA获得超过200个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:138万
展开全部
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="

   xmlns:s="library://ns.adobe.com/flex/spark"
   xmlns:mx="library://ns.adobe.com/flex/mx"
   width="400" height="200" minWidth="400" minHeight="400" creationComplete="init()">
<fx:Script>
<![CDATA[
import mx.core.ByteArrayAsset;
[Bindable]
private var _textValue:String;

[Embed(source="test1.txt",mimeType="application/octet-stream")]
private var myTextFileClass:Class;

private function init():void {
var ba:ByteArray = new myTextFileClass();
var str:String = ba.readUTFBytes(ba.length);
this._textValue = str;
}

]]>
</fx:Script>
<s:Label x="10" y="10" width="158" height="51" text="{_textValue}"/>
</s:Application>

注意:那个readUTFBytes有bug,如果txt文件的内容太短,小于4,会读不出来。可能是utf文件格式的问题。这种方法是打包在swf文件中的文本,通用于所有项目。


貌似你是air项目,可以用楼上的读文件的方式读取,注意编码格式就行了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式