Dev/C#

[C#] 파일스트림(FileStream), 파일복사

쇼크리더 2008. 8. 17. 15:19
반응형

파일복사 소스

<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

 protected void Button1_Click(object sender, EventArgs e)
 {
  if (Page.IsValid) //페이지 유효성검사 성공여부
  {
   string dir = @"D:\개발\VS\WebSite\file\"; // 저장될 곳
   string iFullName = FileUpload1.PostedFile.FileName;
   string oFullName = dir + FileUpload1.FileName;

   FileStream fi = new FileStream(iFullName, FileMode.Open);

   //FileMode
   //Append : 출력파일만듬(존재하면 파일의 긑에 새로운 내용이 추가)
   //Create : 출력파일만듬(이미 존재하면 기존파일 삭제 후 새로 생성)
   FileStream fo = new FileStream(oFullName, FileMode.Create);

   int i;
   do
   {
    i = fi.ReadByte(); //해당파일을  한 바이트씩 읽음
    if (i != -1)
    {
     fo.WriteByte((byte)i);
    }
   } while (i != -1);

   fi.Close();
   fo.Close();

   Label1.Text = iFullName;
   Label2.Text = oFullName;
  }
 }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>바이트 스트림 예제</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
 
     바이트 스트림 예제<br />
  <asp:FileUpload ID="FileUpload1" runat="server" />
  <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
   ControlToValidate="FileUpload1" ErrorMessage="복사할 파일을 선택해"></asp:RequiredFieldValidator>
  <br />
  <asp:Button ID="Button1" runat="server" Text="파일복사" onclick="Button1_Click" />
  <br />
  원본 파일:<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
 
     <br />
  복사된 파일:<asp:Label ID="Label2" runat="server" Text=""></asp:Label>
 
    </div>
    </form>
</body>
</html>

반응형