12. File


  다른 언어처럼 SSJS도 File을 다룰 수 있는 기능이있다. 그걸 배워보자. 단, 앞에서도 계속얘기하지만, 이 파일 핸들링도 동시에 여러 사용자가 수행하기 때문에 LOCK과 같은 기능을 사용하는 것이 좋다. 프로젝트 단위의 파일 관리가 필요하면, project.lock(), project.unlock()을 통해서 부수효과를 사용하면 된다.

  • File 객체

      File을 다룰 수 있도록 File이라는 객체를 지원하며, 다음과 같이 생성한다.

    txtfile = new File("\path\file.txt");


  • Open / Close

      일반적인 C언어에서처럼, 파일을 열고, 닫는 기능이 있으며, 해당 파일에 쓰거나, 읽어오는 함수를 제공한다.

    txtfile.open("r"); // 읽기모드로 파일을 연다.
    txtfile.close();
    * 개방 모드 : C언어와 똑같다.

    rRead Mode
    wWrite Mode
    aAppend Write Mode
    r+, w+, a+Read And Write Mode


  • Read / Write

    바이트단위 문자열 Write
    read문자 Read
    readln줄단위 문자열 Read
    readByte바이트단위 문자열 Read
    write문자 Write
    writeln줄단위 문자열 Write
    writeByte
    flush변경내용 즉시 반영


  • 기타 함수

    eof()파일의 끝에 도달하면 true를 리턴
    getLength()파일이 byte수. 실패시 -1리턴
    exists()파일이 존재하면 true
    error()에러가 없으면 0리턴
  다음은 파일의 내용을 읽어서 출력하는 예이다.

x = new File("\tmp\names.txt");
fileIsOpen = x.open("r");
if( fileOpen ) {
    write("file name : " + x + "<BR>");
    while( !x.eof() ){
       line = x.readln();
       if( ! x.eof() )
          wiret(line + "<br>");
    }
    if( x.error() != 0 )
       write("error reading file <br>");
    x.close();
}else{
    write("file open Error");
}

- Last Update : 2001.7.5 by Deadfire(http://www.deadfire.net)

LiveWire 강좌
LiveWire란?
최초예제/동작원리
실행환경 준비
컴파일 및 실행
SSJS의 기본
     - Function
     - Classes/Objects
     - 사용 Tag
     - SSJS의 처리과정
기본 함수
Client To Server
     - FORM Tag
     - URL
Server To Client
     - FORM Tag
     - Cookie
Session
Client
Project/Server
File
Database
     - Database고려사항
     - Function/예제
기타
     - Stored Procedure
     - 외부함수호출
마치며

Copyright ⓒ 1997 ~, Deadfire Program Master