<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" status="{Capabilities.os}" alwaysInFront="true" > <fx:Script> <![CDATA[ import mx.charts.CategoryAxis; import mx.events.FlexEvent; import mx.utils.ObjectUtil; private var file:File; private var opts:NativeWindowInitOptions; private var win:NativeWindow; private var label:int = 0; protected function button1_clickHandler(event:MouseEvent):void { file = new File(); file.addEventListener(Event.SELECT,fileSelect); file.browseForDirectory("Select Directory"); //file.browseForOpen("select file"); } protected function fileSelect(event:Event):void { // TODO Auto-generated method stub lbl.text = file.nativePath; var directory:Array = file.getDirectoryListing(); for each (var f:File in directory) { if(f.isDirectory){ recrsiveFolderSearch(f); } else { processFile(f); } } } protected function recrsiveFolderSearch(file:File):void { var directory:Array = file.getDirectoryListing(); for each (var f:File in directory) { if(f.isDirectory){ recrsiveFolderSearch(f) } else { processFile(f); } } } private function processFile(file:File):void { if(file.url.indexOf(".xml") != -1){ try{ var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.READ); var prefsXML:XML = XML(fileStream.readUTFBytes(fileStream.bytesAvailable)); fileStream.close(); trace(file.nativePath) }catch(e:Error) { trace(e.message); trace("BUG : "+file.nativePath) } } } protected function button2_clickHandler(event:MouseEvent):void { // TODO Auto-generated method stub opts = new NativeWindowInitOptions() opts.type = NativeWindowType.LIGHTWEIGHT; win = new NativeWindow(opts); win.title = opts.type; win.activate(); } /* protected function filesystemdatagrid1_creationCompleteHandler(event:FlexEvent):void { // TODO Auto-generated method stub fsDG.creationDateColumn.sortCompareFunction = createDateSortCompFunc("creationDate"); fsDG.modificationDateColumn.sortCompareFunction = createDateSortCompFunc("modificationDate"); } */ private function createDateSortCompFunc(sortCol:String):Function { return function (obj1:File, obj2:File):int { return ObjectUtil.dateCompare(obj1[sortCol], obj2[sortCol]); } } ]]> </fx:Script> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <mx:ApplicationControlBar dock="true"> <s:Button label="Click to Browse" click="button1_clickHandler(event)" /> <s:Button click="button2_clickHandler(event)" label="open window"/> </mx:ApplicationControlBar> <s:Label id="lbl" /> <!--<mx:FileSystemDataGrid id="fsDG" sizeDisplayMode="bytes" directory="{File.userDirectory}" creationComplete="filesystemdatagrid1_creationCompleteHandler(event)"> </mx:FileSystemDataGrid>--> </s:WindowedApplication>