이 문서에서는 ASP(Active Server Pages) 페이지 내에서 텍스트 파일을 만들고, 쓰고, 이동하고, 복사하고, 삭제하는 방법을 설명합니다.
데이터베이스나 복잡한 형식의 파일이 너무 많을 때 간편하게 사용하기 위하여 또는 이전 데이터가 텍스트 파일 형태일 때 텍스트 파일을 사용할 수 있습니다. 일반적인 시나리오는 다음과 같습니다.
VBScript나 JScript를 잘 알면 도움이 됩니다.
VBScript 코드
JScript 코드
OpenTextFile 메서드를 사용하면 파일을 열어 텍스트 정보를 읽거나 쓰거나 추가할 수 있습니다.
VBScript 코드
JScript 코드
Write와 WriteLine 메서드는 모두 텍스트를 열린 파일에 추가하지만 WriteLine은 후행 줄 바꿈 문자도 추가합니다. WriteBlankLines 메서드는 지정된 매개 변수를 기반으로 열린 파일에 하나 이상의 빈 줄을 씁니다.
Read 메서드는 열린 파일의 현재 위치에서 지정된 수의 문자를 읽습니다. ReadLine 메서드는 줄 바꿈 문자는 제외하고 줄 전체를 읽는 반면 ReadAll 메서드는 열린 파일의 전체 내용을 읽습니다. 이들 세 개의 메서드 모두 다양한 문자열 조작 방법을 사용하여 쉽게 조작할 수 있는 문자열로 결과 텍스트를 저장합니다.
다음 코드는 이런 메서드를 보여줍니다.
VBScript 코드
JScript 코드
다음 코드 예제는 이러한 메서드를 보여줍니다.
VBScript 코드
JScript 코드
출처 : support.microsoft.com
데이터베이스나 복잡한 형식의 파일이 너무 많을 때 간편하게 사용하기 위하여 또는 이전 데이터가 텍스트 파일 형태일 때 텍스트 파일을 사용할 수 있습니다. 일반적인 시나리오는 다음과 같습니다.
- 메인프레임, 타사 응용 프로그램 또는 거래 파트너가 작성 또는 사용하는 플랫 파일을 읽거나 쓰기
- 클라이언트 응용 프로그램이 제공하는 매개 변수를 기반으로 동적으로 생성되는 Windows 배치 또는 스크립트 파일
요구 사항
다음 중 하나가 실행되어야 합니다.- Microsoft Internet Information Server(IIS) 4.0과 Active Server Pages(ASP) 2.0
- Internet Information Services 5.0과 Active Server Pages 3.0
VBScript나 JScript를 잘 알면 도움이 됩니다.
FileSystemObject 만들기
텍스트 파일을 조작하기 전에 다음과 같이 FSO를 만듭니다.VBScript 코드
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
var objFSO;
objFSO = new ActiveXObject("Scripting.FileSystemObject");
텍스트 파일을 만들고 열고 삭제하는 방법
FSO는 빈 텍스트 파일을 만들 수 있는 CreateTextFile 메서드를 제공합니다. 또한 기존 파일을 열거나 삭제할 수 있는 OpenTextFile과 DeleteFile 메서드도 제공합니다. 또한 File 개체를 사용하여 세 가지 동작을 각각 수행할 수 있습니다. File 개체의 인스턴스를 얻으려면 FSO의 GetFile 메서드를 호출합니다. 그러나 이 문서는 FSO에서 직접적인 메서드만 보여줍니다. File 개체 기술에 대한 자세한 내용은 "참조" 절을 참조하십시오.OpenTextFile 메서드를 사용하면 파일을 열어 텍스트 정보를 읽거나 쓰거나 추가할 수 있습니다.
VBScript 코드
Dim objFSO, objCreatedFile, objOpenedFile
Const 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.Close
objOpenedFile.Close
'Delete the files.
objFSO.DeleteFile "c:\HowToDemoFile.txt"
objFSO.DeleteFile "c:\HowToDemoFile2.txt"
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 개체의 인스턴스를 반환합니다.Write와 WriteLine 메서드는 모두 텍스트를 열린 파일에 추가하지만 WriteLine은 후행 줄 바꿈 문자도 추가합니다. WriteBlankLines 메서드는 지정된 매개 변수를 기반으로 열린 파일에 하나 이상의 빈 줄을 씁니다.
Read 메서드는 열린 파일의 현재 위치에서 지정된 수의 문자를 읽습니다. ReadLine 메서드는 줄 바꿈 문자는 제외하고 줄 전체를 읽는 반면 ReadAll 메서드는 열린 파일의 전체 내용을 읽습니다. 이들 세 개의 메서드 모두 다양한 문자열 조작 방법을 사용하여 쉽게 조작할 수 있는 문자열로 결과 텍스트를 저장합니다.
다음 코드는 이런 메서드를 보여줍니다.
VBScript 코드
Dim objFSO, objTextFile
Dim sRead, sReadLine, sReadAll
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set 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.ReadLine
sRead = objTextFile.Read(4)
sReadAll = objTextFile.ReadAll
objTextFile.Close
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는 파일을 각각 이동하고 복사할 수 있는 MoveFile과 CopyFile 메서드를 제공합니다. 또한 File 개체를 사용하여 두 가지 동작을 각각 수행할 수 있습니다. File 개체의 인스턴스를 얻으려면 FSO의 GetFile 메서드를 호출합니다. 그러나 이 문서는 FSO에서 직접적인 메서드만 보여줍니다. File 개체 기술에 대한 자세한 내용은 "참조" 절을 참조하십시오.다음 코드 예제는 이러한 메서드를 보여줍니다.
VBScript 코드
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile "c:\HowToDemoFile.txt", "c:\Temp\"
objFSO.CopyFile "c:\Temp\HowToDemoFile.txt", "c:\"
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 응용 프로그램을 설계하고 작성할 때 불충분한 보안 사용 권한과 관련된 오류를 방지하기 위해 배포 컴퓨터에서 파일 시스템에 대한 보안 사용 권한을 부여하는 것을 특별히 고려해야 합니다.
출처 : support.microsoft.com
728x90
댓글