파일 다루기
Stream 객체를 이용해서 파일을 읽고 저장합니다. 텍스트 파일을 읽어 올때 그리고 파일에 텍스트를 저장할때 다음 객체를 이용합니다.
* streamReader 객체 * StreamWrite 객체
네임스페이스
using System.IO;
using System.Text;
파일 읽기 스트림.
FileInfo 객체로 부터 스트림을 얻어 쓰는 예입니다. OpenText 메서드를 불러서 StreamReader 객체를 리턴 받습니다. 이 객체를 통해서 데이터를 읽어 옵니다. 마지막으로 스트림을 닫습니다.
메서드 설명
Read 스트림에 하나의 문자를 읽어서 int 형으로 리턴합니다. 파일 끝을 읽으면 -1 을 리턴합니다.
예) int c = strm.Read();
Peek 스트림에서 다음에 가져올 문자를 미리 읽어보는 것입니다. 다음 데이터로 이동하지 않습니다.
예) int c = strm.Peek();
ReadLine 스트림에 데이터를 한줄 씩 읽어서 문자열로 리턴합니다. 파일 끝을 읽으면 null 값을 리턴합니다.
예) sring s = strm.ReadLine();
Read 스트림으로부터 읽어올 최대 데이터 개수를 지정하고, 버퍼에 데이터를 읽어옵니다. 읽어올 시작 인덱스를지정합니다.
예) Read(char[] buffer, int index, int count);
ReadToEnd 스트림 처음부터 끝까지 데이터를 읽어서 strig 형으로 리턴합니다.
예) strins s= strm.ReadToEnd();
file_Read.aspx
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Text" %>
<script language="C#" runat=server>
void Page_Load(object sender, System.EventArgs e)
{
string fname = Server.MapPath("test.txt");FileStream fs = new FileStream( fname,
FileMode.Open, FileAccess.Read );StreamReader reader = new StreamReader(fs);
while( true )
{
string str = reader.ReadLine();
if ( str == null ) break;Response.Write( str +"<br>" );
}
reader.Close();
fs.Close();
}
</script>
* file_Write.aspx
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Text" %>
<script language="C#" runat=server>
void Page_Load(object sender, System.EventArgs e)
{
string fname = Server.MapPath("test.txt");FileStream fs = new FileStream( fname,
FileMode.OpenOrCreate, FileAccess.Write );StreamWriter writer = new StreamWriter(fs);
writer.WriteLine( "파일에 저장합니다." );
writer.WriteLine( "현재 시간 " + DateTime.Now );
writer.Close();fs.Close();
Response.Write( "[" + fname + "] 에 저장했습니다." );
}
</script>