상세 컨텐츠

본문 제목

플래시 AS3.0 액션스크립트 외부 파일 읽기 쓰기 관련 (텍스트파일, 커스텀파일등등)

ADOBE/ ActionScript

by AlrepondTech 2012. 11. 8. 18:16

본문

반응형

 

 

=================================

=================================

=================================

 

 

 

출처: http://blog.naver.com/PostView.nhn?blogId=anicemeeting&logNo=140128065128&redirect=Dlog&widgetTypeCall=true

 

모바일만 했던 나에게 웹으로의 변경은 많은 과제를 남겼다.

 

Air TXT 파일 생성하기

순서는 다음과 같습니다.

 

1. 파일의 유무를 판단한다.

2. 없으면 만들고 있으면 들어있는 정보를 읽어 들입니다.

3. 해당 파일을 열어 원하는 값을 바꾸어주면 됩니다.

 

<Example>

 

package

{

   import flash.filesystem.File;

   import flash.filesystem.FileMode;

   import flash.filesystem.FileStream;

 

   public class SaveTxtCls

   {

       //생성자//

       public function SaveTxtCls()

      {

           file = new File();

           stream = new FileStream();

      }

     

     public function saveNumFn():void

     {

          file = File.desktopDirectory.resolvePath("saveTXT.txt"); //파일의 경로를 설정해 준다.

          if(file.exists) //파일의 존재 유무 판단하기

          {

               //있다면 들어있는 파일의 텍스트 값을 가져 온다//

             stream.open(file,FileMode.READ); //파일 스트림을 연다. (읽으니깐 READ);

             var getStr:String = stream.readMultiByte(stream.bytesAvailable,"utf-8"); //getStr에 txt에 들어있는 텍스트를 담고 있어 이걸 씀된다.

             stream.close(); //스트림을 닫아준다..

          }

          else

         {

             stream.open(file,FileMode.WRITE); //써야 하니깐 WRITE

             stream.writeMultiByte("Show me the money", "utf-8"); //넣고 싶은 문자열을 넣어준다.

             stream.close(); //스트림을 닫아준다..

         }

      }

   }

}

 

여기서 잠깐!!

고민을 했다.. 수정하려고 하면 어떻게 해야 하나.. ㅜㅡㅜ

결국 내가 선택한 방법은 ..

READ 하고 READ 값을 가지고 수정한 다음 WRITE 했다.

잘된다..

 

더 좋은 방법을 찾아 봐야겠다.

^^

 

 

 

=================================

=================================

=================================

 

 

 

출처: http://geuni.net/blog/

다음 예제에서는 로컬 텍스트 파일의 데이터를 로드하여 표시합니다. 또한 이벤트 처리 정보도 추적합니다.

참고: 이 예제를 실행하려면 urlLoaderExample.txt라는 이름의 파일을 SWF 파일과 같은 디렉토리에 넣어야 합니다. 이 파일에는 다음과 같은 내용의 텍스트만 포함되어 있어야 합니다. answer=42&question=unknown

이 예제 코드는 다음 작업을 수행합니다.

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.*;

    public class URLLoaderExample extends Sprite {
        public function URLLoaderExample() {
            var loader:URLLoader = new URLLoader();
            configureListeners(loader);

            var request:URLRequest = new URLRequest("urlLoaderExample.txt");
            try {
                loader.load(request);
            } catch (error:Error) {
                trace("Unable to load requested document.");
            }
        }

        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
        }

        private function completeHandler(event:Event):void {
            var loader:URLLoader = URLLoader(event.target);
            trace("completeHandler: " + loader.data);
   
            var vars:URLVariables = new URLVariables(loader.data);
            trace("The answer is " + vars.answer);
        }

        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }

        private function httpStatusHandler(event:HTTPStatusEvent):void {
            trace("httpStatusHandler: " + event);
        }

        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }
    }
}

 

 

 

반응형

 

728x90

 

 

=================================

=================================

=================================

 

 

출처: http://haullab.tistory.com/423


저번에 텍스트파일을 불러오는걸 배우긴 했습니다만,

이번에는 조금 더 확장해 봅시다.

지금은, 영어만 됩니다.

 

 

 

이렇게 해 주시고,

 

 

 

요렇~게 해 주세요

헤헤...

 

 

 

 

 

=================================

=================================

=================================

 

 

AS 3.0 파일 읽기

import flash.errors.IOError;

import flash.events.*;

import flash.net.*;

import flash.system.*;

import flash.utils.ByteArray;

 

import org.osmf.utils.URL;

 

public class CURLLoader

{

//http://open.cyberoro.com/gibo/201201/120110-wonik-kiwonkim.sgf

private var _callback:Function;

 

public function CURLLoader()

{

}

 

public function load(url:String, cb:Function):void

{

System.useCodePage = true;  

_callback = cb;

 

var l:URLLoader = new URLLoader();

l.addEventListener(Event.COMPLETE, completeHandler);

l.addEventListener(Event.OPEN, openHandler);

l.addEventListener(ProgressEvent.PROGRESS, progressHandler);

l.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);

l.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);

l.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

 

var request:URLRequest = new URLRequest(url);

 

try 

{

l.load(request);

catch (e:IOError) 

{

trace(e.message);

}

}

 

private function completeHandler(event:Event):void

{

var l:URLLoader = URLLoader(event.target);

l.dataFormat= "text";

 

var s:String = l.data;

 

_callback.call(this, s);

}

 

private function openHandler(event:Event):void

{

trace("openHandler: " + event);

}

 

private function progressHandler(event:ProgressEvent):void

{

trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);

}

 

private function securityErrorHandler(event:SecurityErrorEvent):void

{

trace("securityErrorHandler: " + event);

}

 

private function httpStatusHandler(event:HTTPStatusEvent):void

{

trace("httpStatusHandler: " + event);

}

 

private function ioErrorHandler(event:IOErrorEvent):void 

{

trace("ioErrorHandler: " + event);

}

 

}

 

 

=================================

=================================

=================================

 

 

기타 링크:

- http://blog.naver.com/PostView.nhn?blogId=mchelloo&logNo=80140239127&redirect=Dlog&widgetTypeCall=true 

 

 

=================================

=================================

=================================

 

 

반응형


관련글 더보기

댓글 영역