웹모아
웹모아[손님] 검색   로그인 / 회원가입    



 
일반팁
 


FileSystemObject 다루기 V - 파일 읽기
  2006-04-08 16:23:56 댓글:(0)   조회:812



<%
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = fs.OpenTextFile("c:MyTesttest.txt",1) 
%>
<HTML>
<BODY>
<br><center><font face="돋움" size="2">
<h2>FSO 텍스트화일 읽기</h2>
<% 
Do While objFile.AtEndOfStream <> True
    Response.write objFile.readLine & "<br>"
loop
' 이런 방법도 같은 결과를 출력한다.(ReadAll 사용)
' content = objFile.readall
' str = replace(content,chr(13)&chr(10),"<br>")
' Response.write str
%>
</font></center></BODY></HTML>

CreateObject는 이미 수도 없이 이야기한 부분이니 말이지요. 주의할 것이 하나있는데 두 번째 라인인 OpenTextFile 부분에서 두 번째 인자가 이번에는 "1"로 세팅되었다는 것이 중요합니다. 
다음과 같이 말이지요. 

fs.OpenTextFile("c:MyTesttest.txt",1) 

파일을 읽어들일 경우는 읽기전용인 ForReading(1)로 세팅하는 것이 좋습니다. 만일 여기를 읽고쓰기 모드인 ForAppending(8)로 두게 되면 이 예제는 에러를 발생시킵니다. 몇몇 속성과 메소드들 ( 예를 들면 AtEndOfStream, AtEndOfLine, Read메소드등)은 읽기전용 모드에서만 동작하기 때문이지요. 기억하십시용. 단지 파일을 읽어들일 경우는 ForReading 모드로 설정해 주어야 모든 기능을 제대로 사용할 수가 있다는 사실을,,,,,. 이제 다음 부분의 소스를 보시지요.. 

Do While objFile.AtEndOfStream <> True 
     Response.write objFile.readLine & "<br>" 
loop

여기서 첨 만나는 것이 AtEndOfStream 인데 이것은 TextStream의 속성중에 하나입니다. 현재의 위치가 파일의 끝인지를 나타내주는 속성으로 파일에 끝에 다다르면 true를 아직 파일의 끝에 다다르지 못했으면 false를 리턴하게 하지요. 

즉 위의 Do while문은 오픈된 파일의 끝에 다다를 때까지 어떤 작업을 하라는 것입니다. 그 어떤 작업이라는 것이 무엇일까요? 바로 RealLine입니다. 즉, 파일에서 데이터를 라인단위로 가져오라고 하는 것이지요. 

그리고 Response.write를 통해 화면에 출력시키고 있습니다. 유심히 보아야 할 것은 realLine 메소드 다음에 나타난 "<br>" 문자열의 추가인데, 만일 이 <br>을 추가해 주지 않으면 다음과 그림과 같이 문자열들이 주욱 붙어서 나오게 됩니다 

readline는 텍스트에서 라인단위로 읽어오는 것이지 출력시와는 아무런 관계가 없슴다. 그래서 우리는 불러온 텍스트 라인마다 를 붙여주어야 하는 것이지요. 

소스를 보면 주석처리가 되어 있는 또 다른 부분이 있습니다. 이번에는 이 주석 처리된 부분의 주석을 지우고 이 방법으로 텍스트를 불러와 보도록 해요. 결과를 확인해 보면 이전 것과 같게 나올 것입니다. 

content = objFile.readall 
str = replace(content,chr(13)&chr(10),"<br>") 
Response.write str 

이번 예제에서 텍스트를 불러올 때 첫 번째 방법이 라인단위로 불러오는 것이었다면 이 두 번째 방법은 한번에 모든 텍스트를 불러오는 것입니다. readall이라는 메소드가 바로 그 역할을 하지요. 한번에 모든 텍스트를 불러와서 content라는 변수에 저장하고 있습니다. 

그리고, 그 다음에 Replace라고 하는 아주 유용한 함수를 사용하고 있습니다. 이 함수는 어떤 문자열에서 특정 문자를 우리가 원하는 문자로 바꾸어주는 역할을 하는 함수로서 상당히 자주 사용하는 함수입니다. 

바뀐값이 저장될 변수 = replace( 전체문자열, 바꾸고자하는 문자, 바꿀 문자) 

위의 소스를 예로 들어 설명하면 str = replace(content,chr(13)&chr(10),"<br>") 의 의미는 불러온 전체 텍스트인 content라는 문자열중에서 chr(13)&chr(10)이라는 것을 <br>이라는 문자로 다 바꾸어서 str이라는 변수에 넣으라는 의미인 것이지요. 

chr(13)&chr(10) 라는 것은 엔터키의 값입니다. 만일 이 replace 처리를 안 해주게 되면 이 결과도 마찬가지로 글들이 붙어서 나오게 될 것입니다. 파일을 열고 그 파일의 TextStream을 가져와서 우리는 writeline, reaLline, readAll 등의 메소드와 AtEndOfStream같은 속성을 다루어 보았습니다. 

속성                     설명 
write(문자열)          파일에 문자열을 입력 
WriteLine(문자열)    파일에 문자열과 엔터값(라인문자)을 입력 
WriteBlankLines(i)  파일에 i 개의 엔터값(라인문자)을 입력 
Read(i)                 파일에서 i 개의 문자만을 읽어온다 
ReadLine              파일에서 한 라인을 읽어온다 
ReadAll                파일에서 모든 텍스트를 읽어온다 
Skip(i)                  파일에서 i 개 만큼 문자를 건너뛴다 
SkipLine               파일에서 읽어올 때 라인하나를 건너뛴다



 댓글 (0)


일반팁
페이지: 1 / 2   


   oledb 접근 오류(홈마스타)(1) 18641
   ASP 에서 MDB 사용(홈마스타)873
     [RE] ASP 에서 MDB 사용(홈마스타)687
   Global.asa 파일에 대하여(홈마스타)(1) 749
   배열의 순차정리 - Asp에서 for 문을 돌려 얻(홈마스타)1111
     [RE] 배열의 순차정리(홈마스타)701
   Redirect 예제(홈마스타)763
   항목이 몇개인지 모르는 배열에 저장된 내용..출력하(홈마스타)808
   asp에서 자료삭제할때(홈마스타)654
   asp 로 파일 쓰기를 하려는데 계속 에러가 발생합(홈마스타)(2) 707
     [RE] asp 로 파일 쓰기를 하려는데 계속 에러(홈마스타)664
   asp include(홈마스타)869
   세자리마다 ‘,’ 콤마 찍기(홈마스타)(1) 914
     [RE] 소수점이하 자리 맞추기(홈마스타)811
   asp에서 소수점나온숫자를 버림하는 방법(홈마스타)6122
   배열을 이용한 변수 넘기기(홈마스타)(1) 655
   Cookies를 배열로(홈마스타)987
   Scripting.FilesyStemObject 스(홈마스타)942
     [RE] Scripting.FilesyStemObj(홈마스타)858
FileSystemObject 다루기 V - 파일 (홈마스타)813
     [RE] FileSystemObject 다루기 V (홈마스타)774
   FileSystemObject 다루기 IV - 파일(홈마스타)1014
     [RE] FileSystemObject - 입력한(홈마스타)757
   asp에서 select case 구문 사용법(홈마스타)1172
   변수의 선언과 전달(홈마스타)(5) 1220
   asp로 쇼핑몰 만들기(홈마스타)(1) 766
   쿠키 저장과 사용(홈마스타)824
   asp 여러줄 주석 어떻게 달아요 ?(홈마스타)1626
   ASP - DB 사용 예문 - ADO의 연결과 레코(홈마스타)792
     [RE] ASP - DB 사용 예문 - DB와 연결(홈마스타)1072
[1]  [2]  

복수단어 검색은 공백(space)로 구분해 주세요. 1




 
최근 글
[손님]

인기 글
[손님]
[홈마스타] [RE] input type=\\
[홈마스타] 운전면허 취득절차
[홈마스타] check박스 배열 넘기기
[김준수] (1) 모의고사 풀이