현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

ASP 페이지에서 텍스트 파일을 조작하는 방법

이 문서는 이전에 다음 ID로 출판되었음: KR300982
요약
이 문서에서는 ASP(Active Server Pages) 페이지 내에서 텍스트 파일을 만들고, 쓰고, 이동하고, 복사하고, 삭제하는 방법을 설명합니다.

데이터베이스나 복잡한 형식의 파일이 너무 많을 때 간편하게 사용하기 위하여 또는 이전 데이터가 텍스트 파일 형태일 때 텍스트 파일을 사용할 수 있습니다. 일반적인 시나리오는 다음과 같습니다.
  • 메인프레임, 타사 응용 프로그램 또는 거래 파트너가 작성 또는 사용하는 플랫 파일을 읽거나 쓰기
  • 클라이언트 응용 프로그램이 제공하는 매개 변수를 기반으로 동적으로 생성되는 Windows 배치 또는 스크립트 파일
Scripting.FileSystemObject COM(구성 요소 개체 모델) 개체는 드라이버, 폴더 및 파일을 조작하는 다양한 기능을 제공합니다. 이 FSO(FileSystemObject) 개체는 ScrObj.dll이라고 하는 in-process COM 서버 내에서 구현됩니다. 이 문서에서는 FSO 개체 모델의 파일 조작 기능만 설명합니다.

맨 위로

요구 사항

다음 중 하나가 실행되어야 합니다.

  • Microsoft Internet Information Server(IIS) 4.0과 Active Server Pages(ASP) 2.0
  • Internet Information Services 5.0과 Active Server Pages 3.0
구현 세부 사항이 없는 경우 Microsoft COM 기술을 지원하는 스크립팅 언어를 사용하는 일반적인 방법을 적용할 수 있으며, 이러한 방법은 ASP에 국한되지 않습니다.

VBScript나 JScript를 잘 알면 도움이 됩니다.

맨 위로

FileSystemObject 만들기

텍스트 파일을 조작하기 전에 다음과 같이 FSO를 만듭니다.

VBScript 코드
Dim objFSOSet objFSO = CreateObject("Scripting.FileSystemObject")				
JScript 코드
var objFSO;objFSO = new ActiveXObject("Scripting.FileSystemObject");				
맨 위로

텍스트 파일을 만들고 열고 삭제하는 방법

FSO는 빈 텍스트 파일을 만들 수 있는 CreateTextFile 메서드를 제공합니다. 또한 기존 파일을 열거나 삭제할 수 있는 OpenTextFileDeleteFile 메서드도 제공합니다. 또한 File 개체를 사용하여 세 가지 동작을 각각 수행할 수 있습니다. File 개체의 인스턴스를 얻으려면 FSO의 GetFile 메서드를 호출합니다. 그러나 이 문서는 FSO에서 직접적인 메서드만 보여줍니다. File 개체 기술에 대한 자세한 내용은 "참조" 절을 참조하십시오.

OpenTextFile 메서드를 사용하면 파일을 열어 텍스트 정보를 읽거나 쓰거나 추가할 수 있습니다.

VBScript 코드
Dim objFSO, objCreatedFile, objOpenedFileConst ForReading = 1, ForWriting = 2, ForAppending = 8'Create the FSO.Set objFSO = CreateObject("Scripting.FileSystemObject")Set objCreatedFile = objFSO.CreateTextFile("c:\HowToDemoFile.txt", True)Set objOpenedFile = objFSO.OpenTextFile("c:\HowToDemoFile2.txt", ForWriting, True)'Use objCreatedFile and objOpenedFile to manipulate the corresponding files.objCreatedFile.CloseobjOpenedFile.Close'Delete the files.objFSO.DeleteFile "c:\HowToDemoFile.txt"objFSO.DeleteFile "c:\HowToDemoFile2.txt"				
JScript 코드
var objFSO, objCreatedFile, objOpenedFile;var ForReading = 1, ForWriting = 2, ForAppending = 8;// Create the FSO.objFSO = new ActiveXObject("Scripting.FileSystemObject");objCreatedFile = objFSO.CreateTextFile("c:\\HowToDemoFile.txt", true);objOpenedFile = objFSO.OpenTextFile("c:\\HowToDemoFile2.txt", ForWriting, true);// Use objCreatedFile and objOpenedFile to manipulate the corresponding files.objCreatedFile.Close();objOpenedFile.Close();// Delete the files.objFSO.DeleteFile("c:\\HowToDemoFile.txt");objFSO.DeleteFile("c:\\HowToDemoFile2.txt");				
맨 위로

텍스트 파일에서 쓰고 읽는 방법

FSO의 CreateTextFile 또는 OpenTextFile 메서드는 텍스트 파일에 쓰거나 파일을 읽는 메서드를 제공하는 TextStream 개체의 인스턴스를 반환합니다.

WriteWriteLine 메서드는 모두 텍스트를 열린 파일에 추가하지만 WriteLine은 후행 줄 바꿈 문자도 추가합니다. WriteBlankLines 메서드는 지정된 매개 변수를 기반으로 열린 파일에 하나 이상의 빈 줄을 씁니다.

Read 메서드는 열린 파일의 현재 위치에서 지정된 수의 문자를 읽습니다. ReadLine 메서드는 줄 바꿈 문자는 제외하고 줄 전체를 읽는 반면 ReadAll 메서드는 열린 파일의 전체 내용을 읽습니다. 이들 세 개의 메서드 모두 다양한 문자열 조작 방법을 사용하여 쉽게 조작할 수 있는 문자열로 결과 텍스트를 저장합니다.

다음 코드는 이런 메서드를 보여줍니다.

VBScript 코드
Dim objFSO, objTextFileDim sRead, sReadLine, sReadAllConst ForReading = 1, ForWriting = 2, ForAppending = 8Set objFSO = CreateObject("Scripting.FileSystemObject")Set objTextFile = objFSO.CreateTextFile("c:\HowToDemoFile.txt", True)' Write a line with a newline character.objTextFile.WriteLine("This line is written using WriteLine().")' Write a line.objTextFile.Write ("This line is written using Write().")' Write three newline characters to the file.objTextFile.WriteBlankLines(3)objTextFile.Close' Open file for reading.Set objTextFile = objFSO.OpenTextFile("c:\HowToDemoFile.txt", ForReading)' Use different methods to read contents of file.sReadLine = objTextFile.ReadLinesRead = objTextFile.Read(4)sReadAll = objTextFile.ReadAllobjTextFile.Close				
JScript 코드
var objFSO, objTextFile;var sRead, sReadLine, sReadAll;var ForReading = 1, ForWriting = 2, ForAppending = 8;objFSO = new ActiveXObject("Scripting.FileSystemObject");objTextFile =objFSO.CreateTextFile("c:\\HowToDemoFile.txt", true);// Write a line with a newline character.objTextFile.WriteLine("This line is written using WriteLine().");// Write three newline characters to the file.objTextFile.WriteBlankLines(3);// Write a line.objTextFile.Write ("This line is written using Write().");objTextFile.Close();// Open file for reading.objTextFile = objFSO.OpenTextFile("c:\\HowToDemoFile.txt", ForReading);// Use different methods to read contents of file.sReadLine = objTextFile.ReadLine();sRead = objTextFile.Read(4);sReadAll = objTextFile.ReadAll();objTextFile.Close();				
맨 위로

텍스트 파일을 이동하고 복사하는 방법

FSO는 파일을 각각 이동하고 복사할 수 있는 MoveFileCopyFile 메서드를 제공합니다. 또한 File 개체를 사용하여 두 가지 동작을 각각 수행할 수 있습니다. File 개체의 인스턴스를 얻으려면 FSO의 GetFile 메서드를 호출합니다. 그러나 이 문서는 FSO에서 직접적인 메서드만 보여줍니다. File 개체 기술에 대한 자세한 내용은 "참조" 절을 참조하십시오.

다음 코드 예제는 이러한 메서드를 보여줍니다.

VBScript 코드
Dim objFSOSet objFSO = CreateObject("Scripting.FileSystemObject")objFSO.MoveFile "c:\HowToDemoFile.txt", "c:\Temp\"objFSO.CopyFile "c:\Temp\HowToDemoFile.txt", "c:\"				
JScript 코드
var objFSO;objFSO = new ActiveXObject("Scripting.FileSystemObject");objFSO.MoveFile("c:\\HowToDemoFile.txt", "c:\\Temp\\");objFSO.CopyFile("c:\\Temp\\HowToDemoFile.txt", "c:\\");				
맨 위로

문제 해결

  • Scripting.FileSystemObject를 만드는 동안 오류 메시지 발생

    이 문제는 대부분 다음 시나리오 때문에 발생합니다.

    • ScrObj.dll이 구현 컴퓨터에 설치되지 않았습니다.
    • ScrObj.dll이 실수로 삭제되었습니다.
    • ScrObj.dll이 COM 레지스트리에서 실수로 등록 취소되었습니다.

    ScrObj.dll은 <Windows 설치 디렉터리>\System32 폴더에 있기 때문에 운영 체제 DLL(동적 연결 라이브러리)의 일부입니다. 따라서 Windows 2000 기반 컴퓨터에서는 시스템에 심각한 영향을 미치는 극단적인 방법을 사용하지 않고는 ScrObj.dll을 삭제할 수 없습니다.
  • 파일 조작 작업을 수행하는 동안 오류 메시지 발생

    드라이브가 NTFS 파일 시스템을 사용하여 포맷된 경우 관리자 그룹의 사용자는 전체 드라이브, 폴더 및 파일의 보안 사용 권한에 대한 제어 권한을 갖습니다. 특히 웹 서버에서 관리자는 파일과 정보에 대한 불법 액세스를 방지하기 위해 강력한 보안 사용 권한을 사용해야 합니다. 위에서 언급한 파일 조작 기술을 사용하는 ASP 응용 프로그램을 설계하고 작성할 때 불충분한 보안 사용 권한과 관련된 오류를 방지하기 위해 배포 컴퓨터에서 파일 시스템에 대한 보안 사용 권한을 부여하는 것을 특별히 고려해야 합니다.
맨 위로
참조
스크립팅에 대한 자세한 내용은 다음 MSDN 웹 사이트를 참조하십시오. 또한 2001년 4월 MSDN CD의 다음 폴더에 있는 " Platform SDK 설명서(Platform SDK Documentation)"에서 이 항목을 참조하실 수 있습니다.
Tools and Scripting\Scripting\Scripting Runtime\FileSystemObject Object
맨 위로



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.
create open write read move copy delete
속성

문서 ID: 300982 - 마지막 검토: 06/10/2005 09:52:00 - 수정: 4.2

  • Microsoft Active Server Pages 4.0
  • kbhowto kbhowtomaster KB300982
피드백