안규 공부방

ACTIVE SERVER PAGE > FSO - File 관련

등록일 : 2017-07-04 17:29 조회수 : 93,424

안녕하세요 최안규입니다.
 
  여러분들도 모두 알고 계시는 FileSystemObject(FSO)객체에 대해서 알아보고자 합니다.
 
  FileSystemObject 객체를 사용하기 위해서 먼저, Server객체의 CreateObject 메서드를
  이용해 FileSystemObject 객체의 인스턴스를 만들어야 합니다.
 
  set fso=createobject("scripting.filesystemobject")
 
  이렇게 만들어진 fso 인스턴스의 메서드를 사용할수 있습니다.
 
  이 페이지에서는 FSO 객체의 file 관련부분을 정리해 보도록 하겠습니다.
 

  7.1.1 CreateTextFile()
 
  set fso=createobject("scripting.filesystemobject")
  set file=fso.CreateTextFile("c:\test\test.txt", true,false)

  
   파일을 생성시키는 메서드는 CreateTextfile 입니다.
   위와 같은 형식으로 만들어줄수 있구요.
   c:\test 폴더 밑에 test.txt 란 파일을 생성시켜 줍니다.
  
   1. 첫번째 인자 c:\test\test.txt 는 생성시킬 절대경로와 파일의 이름입니다.
   2. 두번째 인자 true 는  위의 경로에 같은 파일이 있는지 없는지 판단해서 덮어쓰기를 할것인지--> true
   덮어쓰기를 하지 않을것인지 --> false 를 선택하는 인자입니다. 만약 false를
   적어 넣었는데, 파일이 존재한다면, 에러를 발생시키겠지요?
   생략시 true가 자동으로 들어 갑니다.
   3. 세번째 인자는 true -> 유니코드, false -> 아스키코드로 생성할것인지
   선택하게 됩니다. 생략하면 false 가 들어 갑니다.
  
    
  7.1.2 OpenTextFile()
 
  set fso=createobject("scripting.filesystemobject") set file=fso.OpenTextFile("c:\test\test.txt",8, true)

OpenTextFile 메소드는 파일을 열고, 그 파일에 대한 엑세스 하는 기능을 가지고 있습니다.

   1. 첫번째 인자 c:\test\test.txt 는 사용할 절대경로와 파일의 이름입니다.
   2. 두번째 인자는 읽기전용(1) 으로 읽을 것인지, 쓰기전용(2),읽고쓰기(8)로 읽어 올것인지를
   선택할수 있습니다.
   3. 세번째 인자는 이 파일을 열때 파일이 존재하지 않을경우 새로운 파일을 만들것인지(True),
   그렇지 않고 파일이 존재해야 하는지(False)를 선택할수 있습니다.

TextStream 속성 종류를 살펴보자.
 
TextStream 속성 종류
속 성 설 명
Write(문자열)
WriteLine(문자열)
WriteBlankLines(i)
Read(i)
ReadLine
ReadAll
Skip(i)
SkipLine
AtEndOfStream
파일에 문자열을 입력한다.
파일에 문자열과 엔터값을 입력한다.
파일에 i개의 엔터값을 입력한다.
파일에서 i개의 문자만을 읽어온다.
파일에서 한 라인을 읽어온다.
파일에서 모든 텍스트를 읽어온다.
파일에서 i개의 문자를 건너 뛴다.
파일에서 읽어올 때 라인하나를 건너 뛴다.
파일이 끝인지 나타내는 속성 (끝=true)
  
     
      Write 예제
     
      아래의 소스는 WriteLine 메소드를 이용한 예제 입니다.
     
     
 
<%
set fso=createobject("scripting.filesystemobject")
set file=fso.OpenTextFile("c:\test.txt",8)

file.WriteLine("안녕하세요1")
file.WriteLine("안녕하세요2")
file.WriteLine("안녕하세요3")
file.WriteLine("안녕하세요4")
file.close
set file=nothing
set fso=nothing
%>
파일에 글쓰기를 완료하였습니다.


실제 실행한 화면을 보면 test.txt 란 파일에 4줄의 문자열이 포함된걸 확인하실수 있습니다.





      Read 예제

 
<%
set fso=createobject("scripting.filesystemobject")
set file=fso.OpenTextFile("c:\test.txt",1)

do while file.AtEndOfStream <> True
Response.write file.readline&"
"
loop

file.close
set file=nothing
set fso=nothing
%>

 
파일을 모두 읽어 왔습니다.


do while ~ loop 까지 대신해서 아래처럼 바꾸어도 같은 결과를 나타냅니다.
content=file.readAll content=replace(content,chr(13)&chr(10),"
") response.write content

 
       

  7.1.3 GetFile()
 
  이번에 다루어볼 메소드는 GetFile 메소드 입니다.
  파일의 정보를 얻어 올수가 있습니다.
 
  GetFile를 통해서 우리가 가지고 올수 있는 속성들을 알아보도록 하겠습니다.
 
 
GetFile 메소드의 속성 종류
속 성 설 명
Size
Type
Path
ShortName
ShortPath
ParentFolder
Name
Drive
DateCreated
DateLastAccessed
DateLastModified
파일의 크기
파일의 타입
파일의 경로
파일의 이름(8.3 형식)
파일의 경로(8.3 형식)
파일의 상위 폴더
파일의 이름(full name)
파일 위치 드라이브명
만들어진 날짜와 시간
마지막 엑세스된 날짜
마지막 수정된 날짜


아래의 예와 같이 사용할수 있습니다.
결과는 여러분이 직접 테스트 해 보시길 바랍니다.
       
 
<%
set fso=createobject("scripting.filesystemobject")
set file=fso.GetFile("c:\안녕하세요.txt")

response.write "파일명 :"& file.Name &"
"
response.write "파일크기 :"& file.size&"
"
response.write "파일타입 :"& file.type&"
"
response.write "파일경로 :"& file.path&"
"
response.write "파일드라이브 :"& file.drive&"
"

set fso=nothing
%>

 
  7.1.4 Move() , MoveFile()

  파일을 이동할수 있는 메서드를 알아보도록하겠습니다.

 
<%
set fso=createobject("scripting.filesystemobject")
set file=fso.GetFile("c:\안녕하세요.txt")
file.move("c:\data\test.txt")
%>

 
  GetFile메서드를 통해서 파일 핸들을 읽어온 다음 move 메서드를 통해서 원하는 위치에
  이동을 시킬수 있습니다.

아래의 예제는 MoveFile 예제입니다.
 
<%
set fso=createobject("scripting.filesystemobject")
file=fso.MoveFile("c:\test1.txt","c:\data\test5.txt")
%>

 
  c:\test1.txt 파일을 c:\data\test5.txt 로 이동을 시키면서 파일이름까지 변경한 예제입니다.
 
  7.1.5 FileExists()
 
  fileExists 메소드는 파일의 존재유무를 확인할수 있는 메소드 입니다.
 
 
<%
set fso=createobject("scripting.filesystemobject")

if fso.FileExists("c:\test2.txt") then
response.write "파일이 존재합니다."
else
response.write "파일이 존재하지 않습니다."
end if
set fso=nothing
%>

 
  위의 예제를 실행해 보면 test2.txt 파일이 경로에 존재하면 true를 그렇지 않으면 false를 리턴하여
  해당하는 결과가 출력됨을 알수 있습니다.
 
  7.1.6 Copy(), CopyFile()
 
  파일을 복사 할수 있는 메서드를 알아보도록하겠습니다.

 
<%
set fso=createobject("scripting.filesystemobject")
set file=fso.GetFile("c:\안녕하세요.txt")
file.copy("c:\data\test.txt")
%>

 
  GetFile메서드를 통해서 파일 핸들을 읽어온 다음 copy 메서드를 통해서 원하는 위치에
  복사 시킬수 있습니다.

아래의 예제는 CopyFile 예제입니다.
 
<%
set fso=createobject("scripting.filesystemobject")
file=fso.copyFile("c:\test1.txt","c:\data\test5.txt")
%>


  7.1.6 Delete() , DeleteFile()
 
  
  파일을 삭제 할수 있는 메서드를 알아보도록하겠습니다.

 
<%
set fso=createobject("scripting.filesystemobject")
set file=fso.GetFile("c:\안녕하세요.txt")
file.delete
%>

 
  GetFile메서드를 통해서 파일 핸들을 읽어온 다음 delte 메서드를 통해서 삭제 시킬수 있습니다.

아래의 예제는 CopyFile 예제입니다.
 
<%
set fso=createobject("scripting.filesystemobject")
file=fso.DeleteFile("c:\test1.txt")
%>

 
 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.