代码统计 ---- AIR

今天要让我把所有代码都放到一个text文件 中,并统计代码行数。于是用AIR写了个,很简单。

 

 

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Button x="209" y="166" label="Button" click="clickHandler()"/>
    <mx:Script>
        <![CDATA[
            private var codeTextFile:File;
            private var codeTextFileStream:FileStream;
            
            private var lineCount:uint = 0;
            private function clickHandler():void {
                codeTextFile = new File("file:///d:/mycode.text")
                
                codeTextFileStream = new FileStream();
                codeTextFileStream.open(codeTextFile, FileMode.WRITE);

                var codeFile:File = new File("file:///d:/work/web_client/flex/apps");
                writeCodeTectFile(codeFile);
                
                codeTextFileStream.writeUTFBytes("================================\n");
                codeTextFileStream.writeUTFBytes("code line count : "+lineCount+"\n");
                codeTextFileStream.writeUTFBytes("================================\n");
                codeTextFileStream.close();
            }
            
            private function writeCodeTectFile(file:File):void {
                if(file.isDirectory) {
                    var arr:Array = file.getDirectoryListing();
                    for each(var f:File in arr) {
                        writeCodeTectFile(f);
                    }
                }
                else {
                    var r:RegExp = /.+\.(as|mxml)/;
                    if(r.test(file.name)) {
                        var fs:FileStream = new FileStream();
                        fs.open(file,FileMode.READ);
                        var s:String = fs.readUTFBytes(fs.bytesAvailable);
                        
                        var r2:RegExp = /\n/g;
                        lineCount += s.match(r2).length;
                        
                        codeTextFileStream.writeUTFBytes(s);
                        fs.close();
                        
                        codeTextFileStream.writeUTFBytes("\n\n");
                    }
                }
            }
        ]]>
    </mx:Script>
</mx:WindowedApplication>
 

你可能感兴趣的:(Web,F#,Flex,Adobe,AIR)