C#공통 파일 작업

- 블로그 가든에서 발췌
C#공통 파일 작업
- 블로그 가든에서 발췌
C#파일 추가
StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); 

sw.WriteLine("    "); 

sw.WriteLine("kzlll"); 

sw.WriteLine(".NET  "); 

sw.Flush(); 

sw.Close(); 

C# 파일 복사
string OrignFile,NewFile; 

OrignFile = Server.MapPath(".")+"\\myText.txt"; 

NewFile = Server.MapPath(".")+"\\myTextCopy.txt"; 

File.Copy(OrignFile,NewFile,true); 

C# 파일 삭제
string delFile = Server.MapPath(".")+"\\myTextCopy.txt"; 

File.Delete(delFile); 

C# 파일 이동
string OrignFile,NewFile; 

OrignFile = Server.MapPath(".")+"\\myText.txt"; 

NewFile = Server.MapPath(".")+"\\myTextCopy.txt"; 

File.Move(OrignFile,NewFile); 

C#디렉토리 만들기
//     c:\sixAge 

DirectoryInfo d=Directory.CreateDirectory("c:\\sixAge"); 

// d1  c:\sixAge\sixAge1 

DirectoryInfo d1=d.CreateSubdirectory("sixAge1"); 

// d2  c:\sixAge\sixAge1\sixAge1_1 

DirectoryInfo d2=d1.CreateSubdirectory("sixAge1_1"); 

//        c:\sixAge 

Directory.SetCurrentDirectory("c:\\sixAge"); 

//     c:\sixAge\sixAge2 

Directory.CreateDirectory("sixAge2"); 

//     c:\sixAge\sixAge2\sixAge2_1 

Directory.CreateDirectory("sixAge2\\sixAge2_1"); 

지정한 폴더 아래의 모든 내용을 대상 폴더 아래로 복사
 
 public static void CopyDir(string srcPath,string aimPath)

  {

   try

   {

    //                          

    if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar) 

     aimPath += Path.DirectorySeparatorChar;

    //                    

    if(!Directory.Exists(aimPath)) Directory.CreateDirectory(aimPath);

    //           ,                   

    //      copy                       

    // string[] fileList = Directory.GetFiles(srcPath);

    string[] fileList = Directory.GetFileSystemEntries(srcPath);

    //           

    foreach(string file in fileList)

    {

     //                   Copy        

     if(Directory.Exists(file))

      CopyDir(file,aimPath+Path.GetFileName(file));

      //     Copy  

     else

      File.Copy(file,aimPath+Path.GetFileName(file),true);

    }

   }

   catch (Exception e)

   {

    MessageBox.Show (e.ToString());

   }

  } 

하위 폴더를 포함한 폴더를 지정된 폴더 아래로 복사하려면 소스 폴더와 대상 폴더의 절대 경로가 필요합니다.형식: CopyFolder(소스 폴더, 대상 폴더),
 
 public static void CopyFolder(string strFromPath,string strToPath)

  {

   //         ,   

   if (!Directory.Exists(strFromPath))

   {    

    Directory.CreateDirectory(strFromPath);

   }   

 

   //          

   string strFolderName = strFromPath.Substring(strFromPath.LastIndexOf("\\") + 1,strFromPath.Length - strFromPath.LastIndexOf("\\") - 1);   

 

   //                            

   if (!Directory.Exists(strToPath + "\\" + strFolderName))

   {    

    Directory.CreateDirectory(strToPath + "\\" + strFolderName);

   }

   //               

   string[] strFiles = Directory.GetFiles(strFromPath);

 

   //      

   for(int i = 0;i < strFiles.Length;i++)

   {

    //        ,     ,    。

    string strFileName = strFiles[i].Substring(strFiles[i].LastIndexOf("\\") + 1,strFiles[i].Length - strFiles[i].LastIndexOf("\\") - 1);

    //      ,true        

    File.Copy(strFiles[i],strToPath + "\\" + strFolderName + "\\" + strFileName,true);

   }

  

   //  DirectoryInfo  

   DirectoryInfo dirInfo = new DirectoryInfo(strFromPath);

   //                

   DirectoryInfo[] ZiPath = dirInfo.GetDirectories();

   for (int j = 0;j < ZiPath.Length;j++)

   {

    //         

    string strZiPath = strFromPath + "\\" + ZiPath[j].ToString();   

    //                ,          

    CopyFolder(strZiPath,strToPath + "\\" + strFolderName);

   }

  }

텍스트 파일 읽기
private void ReadFromTxtFile()

{

    if(filePath.PostedFile.FileName != "")

    {

        txtFilePath =filePath.PostedFile.FileName;

        fileExtName = txtFilePath.Substring(txtFilePath.LastIndexOf(".")+1,3);

 

        if(fileExtName !="txt" && fileExtName != "TXT")

        {

            Response.Write("       ");

        }

        else

        {

            StreamReader fileStream = new StreamReader(txtFilePath,Encoding.Default);

            txtContent.Text = fileStream.ReadToEnd();

            fileStream.Close();

        }

    }

 }

로그 파일 읽기
private void ReadLogFile()

{

    /**////                      

    FileStream fs  = new FileStream(Server.MapPath("upedFile")+"\\logfile.txt", FileMode.OpenOrCreate, FileAccess.Read);

 

    /**////       

    StringBuilder output = new StringBuilder();

    

    /**////           0

    output.Length = 0;

    

    /**////                

    StreamReader read = new StreamReader(fs);

    

    /**////                  

    read.BaseStream.Seek(0, SeekOrigin.Begin);

    

    /**////    

    while (read.Peek() > -1) 

    {

        /**////           

        output.Append(read.ReadLine() + "
"); } /**//// read.Close(); /**//// return output.ToString(); }

로그 파일 쓰기
private void WriteLogFile(string input)

{    

    /**////         

    string fname = Server.MapPath("upedFile") + "\\logfile.txt";

    /**////        

    FileInfo finfo = new FileInfo(fname);

 

    /**////              2K

    if ( finfo.Exists && finfo.Length > 2048 )

    {

        /**////     

        finfo.Delete();

    }

    /**////       

    using(FileStream fs = finfo.OpenWrite())

    {

        /**////                

        StreamWriter w = new StreamWriter(fs);

        

        /**////                  

        w.BaseStream.Seek(0, SeekOrigin.End);

        

        /**////  “Log Entry : ”

        w.Write("
Log Entry : "); /**//// w.Write("{0} {1} \r
", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString()); /**//// w.Write(input + "
"); /**//// ------------------------------------“ w.Write("------------------------------------
"); /**//// , w.Flush(); /**//// w.Close(); } }

HTML 파일 만들기
private void CreateHtmlFile()

{    

    /**////   html         

    string[] newContent = new string[5];

    StringBuilder strhtml = new StringBuilder();

    try 

    {

        /**////  StreamReader  

        using (StreamReader sr = new StreamReader(Server.MapPath("createHTML") + "\\template.html")) 

        {

            String oneline;

            

            /**////     HTML    

            while ((oneline = sr.ReadLine()) != null) 

            {

                strhtml.Append(oneline);

            }

            sr.Close();

        }

    }

    catch(Exception err)

    {

        /**////      

        Response.Write(err.ToString());

    }

    /**////       

    newContent[0] = txtTitle.Text;//  

    newContent[1] = "BackColor='#cccfff'";//   

    newContent[2] = "#ff0000";//    

    newContent[3] = "100px";//    

    newContent[4] = txtContent.Text;//    

 

   /**////          html  

   try

   {

       /**////      HTML  

        string fname = Server.MapPath("createHTML") +"\\" + DateTime.Now.ToString("yyyymmddhhmmss") + ".html";

       

       /**////  html             

       for(int i=0;i < 5;i++)

       {

           strhtml.Replace("$htmlkey["+i+"]",newContent[i]);

       }

       /**////        

       FileInfo finfo = new FileInfo(fname);

       

       /**////               

       using(FileStream fs = finfo.OpenWrite())

       {

           /**////                

            StreamWriter sw = new StreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));

           

           /**////          HTML   

           sw.WriteLine(strhtml);

           sw.Flush();

           sw.Close();

       }

       

       /**////         

       hyCreateFile.Text = DateTime.Now.ToString("yyyymmddhhmmss")+".html";

        hyCreateFile.NavigateUrl = "createHTML/"+DateTime.Now.ToString("yyyymmddhhmmss")+".html";

    }

    catch(Exception err)

    { 

        Response.Write (err.ToString());

    }

}

 

좋은 웹페이지 즐겨찾기