Skip to content
Mar 13 /

Detecting the line-ending character sequence used by the host operating system in Adobe AIR

The following example shows how you can detect the line ending character sequence used by the host operating system in Adobe AIR by using the static File.lineEnding property.

<?xml version="1.0" encoding="utf-8"?>
<!-- http://airexamples.com/2010/03/13/detecting-the-line-ending-character-sequence-used-by-the-host-operating-system-in-adobe-air/ -->
<mx:WindowedApplication name="File_lineEnding_test"
        xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        status="{Capabilities.os}"
        height="200">
 
    <mx:Script>
        <![CDATA[
            private function init():void {
                var arr:Array = File.lineEnding.split("");
                arr.forEach(charCodeMe);
                lbl.text = arr.join(",");
            }
 
            private function charCodeMe(item:*, index:int, array:Array):void {
                array[index] = "0x" + item.charCodeAt(0).toString();
            }
        ]]>
    </mx:Script>
 
    <mx:VBox>
        <mx:Label text="File.lineEnding:" />
        <mx:Text id="lbl"
                selectable="true"
                fontSize="48"
                creationComplete="init();" />
    </mx:VBox>
 
</mx:WindowedApplication>

Due to popular demand, here is the “same” example in a more ActionScript friendly format:

<?xml version="1.0" encoding="utf-8"?>
<!--  -->
<mx:WindowedApplication name="File_lineEnding_test"
        xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        status="{Capabilities.os}"
        height="200"
        initialize="init();">
 
    <mx:Script>
        <![CDATA[
            import mx.containers.VBox;
            import mx.controls.Label;
 
            private function init():void {
                var tmpLbl:Label = new Label();
                tmpLbl.text = "File.lineEnding:";
 
                var lbl:Label = new Label();
                lbl.selectable = true;
                lbl.setStyle("fontSize", 48);
 
                var vBox:VBox = new VBox();
                vBox.addChild(tmpLbl);
                vBox.addChild(lbl);
                addChild(vBox);
 
                var arr:Array = File.lineEnding.split("");
                arr.forEach(charCodeMe);
                lbl.text = arr.join(",");
            }
 
            private function charCodeMe(item:*, index:int, array:Array):void {
                array[index] = "0x" + item.charCodeAt(0).toString();
            }
        ]]>
    </mx:Script>
 
</mx:WindowedApplication>
Leave a Comment

Spam Protection by WP-SpamFree