C# °øºÎÆäÀÌÁö
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : ¹Ì´Ï»çÀÌÆ®>mono>CSharp



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

¼Ò°³

C# °øºÎ¸¦ À§ÇÑ ÆäÀÌÁö ÀÔ´Ï´Ù. ¹®¹ý °°Àº °ÍÀº °Ç³Ê ¶Û°Å±¸¿ä. ½º·¹µå, ÆÄÀÏ, ³×Æ®¿öÅ©, IPC, Ŭ·¡½º Áö¿ø Ư¼º°ú °°Àº °ÍµéÀ» À§ÁÖ·Î °øºÎÇÒ »ý°¢ÀÔ´Ï´Ù.

½º·¹µå


ÆÄÀÏ

°¡Àå ±âº»ÀûÀ̸鼭 °¡Àå Áß¿äÇÑ ÆÄÀÏ´Ù·ç±âÀÔ´Ï´Ù.

ÆÄÀϰü·Ã .NET ÀÎÅÍÆäÀ̽º´Â System.IO.File ¿¡ ÀÖ½À´Ï´Ù. ¸®´ª½º C´Â Àú¼öÁØÀÇ ÇÔ¼ö¸¸ Áö¿øÇϴµ¥ ¹ÝÇØ .NETÀº ¾ÆÁÖ ´Ù¾çÇÑ ÀÎÅÍÆäÀ̽º¸¦ Áö¿øÇϳ׿ä.

ÆÄÀÏ ¿­±â

°¡Àå Àú¼öÁØÀÇ ¸Þ¼­µå¶ó°í ÇÒ¸¸ÇÑ °ÍÀÇ À̸§Àº ¿ª½Ã³ª OpenÀ̱º¿ä.
public static FileStream Open( 
    string path, 
    FileMode mode 
) 
 
public static FileStream Open( 
    string path, 
    FileMode mode, 
    FileAccess 
) 
 
public static FileStream Open( 
    string path, 
    FileMode mode, 
    FileAccess, 
    FileShare 
) 
 
3°¡Áö ±¸ÇöÀÌ ÀÖ±º¿ä. path´Â ÆÄÀÏ À̸§ÀÏ °Å±¸. mode´Â ÆÄÀÏ ¿ÀÇ ¹æ½ÄÀ» Á¤ÀÇ Çϱâ À§Çؼ­ »ç¿ëÀ» ÇÕ´Ï´Ù.
  • CreateNew : »õ·Î ÆÄÀÏÀ» »ý¼ºÇϱâ À§Çؼ­ »ç¿ë. ÀÌ¹Ì ÆÄÀÏÀÌ Á¸ÀçÇÑ´Ù¸é IOExceptionÀ» ´øÁø´Ù.
  • Create : »õ·Î ÆÄÀÏÀ» »ý¼ºÇϱâ À§Çؼ­ »ç¿ë. °°Àº À̸§ÀÇ ÆÄÀÏÀÌ Á¸ÀçÇÑ´Ù¸é µ¤¾î¾´´Ù.
  • Open : Á¸ÀçÇÏ´Â ÆÄÀÏÀ» ¿­¶§ »ç¿ëÇÑ´Ù. Á¸ÀçÇÏÁö ¾ÊÀ¸¸é System.IO.FileNotFoundExceptionÀ» ´øÁø´Ù.
  • OpenOrCreate : ÆÄÀÏÀ» ¿¬´Ù. Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ÆÄÀÏÀ» ¸¸µç´Ù.
  • Truncate : Á¸ÀçÇÏ´Â ÆÄÀÏÀ» ¿¬´Ù. À̶§ ÆÄÀÏÀ» 0 byte Å©±â·Î ÀÚ¸¥´Ù.
  • Append : Á¸ÀçÇÏ´Â ÆÄÀÏÀ» ¿­°í ÆÄÀÏÀÇ ³¡À¸·Î À§Ä¡ÇÑ´Ù. ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù¸é »õ·Î¿î ÆÄÀÏÀ» ¸¸µç´Ù.

FileAccess´Â Á¢±Ù¹æ½ÄÀä. ¸®´ª½º¿Í ¸¶Âù°¡Áö·Î Àбâ Àü¿ë, ¾²±â Àü¿ë, Àбâ/¾²±â ¹æ½ÄÀÌ ÀÖ±º¿ä.
  • Read : Àбâ Àü¿ë
  • Writre : ¾²±â Àü¿ë
  • ReadWrite : Àбâ/¾²±â ¸ðµÎ

FileShare´Â Á» »ý¼ÒÇϳ׿ä. ¸®´ª½º¿¡¼­´Â ÀÌ·± ÀÏÀ» ÇÏ´Â ¿É¼ÇÀÌ ¾ø°Åµç¿ä. ¸ÖƼ ½º·¹µå ÇÁ·Î±×·¥¿¡¼­ ´Ù¸¥ ½º·¹µåÀÇ Á¢±Ù±ÇÇÑÀ» ¸¸µé±â À§ÇÑ ¿É¼ÇÀ̶ó°í ÇÕ´Ï´Ù.
  • None : ÆÄÀÏÀ» ´Ý±â Àü±îÁö, ´Ù¸¥ ½º·¹µå´Â ÆÄÀÏÀ» ¿­ ¼ö ¾ø½À´Ï´Ù.
  • Read : Àбâ Çã¶ô.
  • Write : ¾²±â Çã¶ô
  • ReadWrite : Àбâ/¾²±â ¸ðµÎ Çã¶ô
  • Delete : ÆÄÀÏ »èÁ¦ Çã¶ô
¾î¶² °æ¿ì¿¡ ÇÊ¿äÇÑÁö´Â Àß ¸ð¸£°Ú½À´Ï´Ù. ¸®´ª½º¿¡¼­´Â ÀÌ ¿É¼Ç¾øÀ̵µ ½º·¹µå°£ ÆÄÀÏ »ç¿ëÇϴµ¥ ¹®Á¦°¡ ¾ø¾ú±â ¶§¹®¿¡.

À̵éÀº FileStream °´Ã¼¸¦ ¹ÝȯÇϴµ¥¿ä. ÀÌ °´Ã¼¿¡¼­ Áö¿øÇÏ´Â ¸Þ¼­µå¸¦ ÀÌ¿ëÇØ¼­ ÆÄÀÏ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ¹Û¿¡ OpenRead, OpenText, OpenWrite¿Í °°Àº ÀÀ¿ë ¸Þ¼­µå°¡ ¸î°³ Á¸ÀçÇϳ׿ä. mode¿Í accessÀÇ Á¶ÇÕÀ» ´Þ¸®ÇÑ wrapper ¸Þ¼­µå°ÚÁÒ.

ÆÄÀÏ ÀÛ¾÷

FileStream °´Ã¼¿¡¼­ Áö¿øÇÏ´Â ¸Þ¼­µå¸¦ ÀÌ¿ëÇØ¼­ ÆÄÀÏ ÀÔÃâ·Â ÀÛ¾÷À» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀϹÝÀûÀÎ Read, Write ÇÔ¼ö ¿Ü¿¡, Seek, Lock ¸Þ¼­µåµéµµ Á¦°øÇϳ׿ä. °´Ã¼ÁöÇâÀÇ ÈûÀ̰ÚÁÒ. ±»ÀÌ ¼³¸íÇÒ ÇÊ¿ä´Â ¾ø°Ú½À´Ï´Ù. ÇÊ¿äÇÒ ¶§´Â [http]MSDN¹®¼­¸¦ Âü°íÇÏ¸é µÉ µí.

¿¹Á¦

ÆÄÀÏ ³»¿ëÀ» Àо Ãâ·Â
using System; 
using System.IO; 
 
class TestFileIO 
{ 
    public static void Main(string[] args) 
    { 
         
        string fileName = args[0]; 
        // ÆÄÀÏÀÌ Á¸ÀçÇÏ´ÂÁö È®ÀÎ 
        if (!System.IO.File.Exists(fileName)) 
        { 
            Console.Write("File Not Found : ", fileName); 
            return; 
        } 
        byte[] buffer; 
        buffer = new byte[1024]; 
         
        // ÆÄÀÏÀ» ¿©½Ã°í 
        System.IO.FileStream fs = System.IO.File.Open(fileName, 
                                                      System.IO.FileMode.Open); 
         
        int numBytesToRead = (int)fs.Length; 
        int count=0; 
 
        // Àо Ç¥ÁØÃâ·Â ÇÕ´Ï´Ù. 
        // byte[]¸¦ stringÀ¸·Î º¯È¯ÇÏ·Á´Ï Á» ±î´Ù·Ó±º¿ä. ¹º°¡ ÆíÇÑ ¹æ¹ýÀÌ ÀÖ°ÚÁÒ. 
        while((count = fs.Read(buffer,0, numBytesToRead)) > 0) 
        { 
            Console.WriteLine(count); 
            Console.Write(System.Text.ASCIIEncoding.ASCII.GetString(buffer)); 
        } 
        fs.Close(); 
    } 
} 
 

ÆÄÀÏÀ» ´Ù¸¥ ÆÄÀÏ·Î º¹»ç

½º·¹µå

¿î¿µÃ¼Á¦¸¦ ¸··ÐÇÏ°í °¡Àå ¹®Á¦°¡ µÇ´Â ±â¼úÀÌ ¸ÖƼ ½º·¹µå ¿î¿ë±â¼úÀÔ´Ï´Ù. °³¹ßÀÚ°¡ Å©°Ô ½Å°æ½á¾ßÇÒ ºÎºÐÀº ½º·¹µå »ý¼º, ¼Ò¸ê, µ¿±âÈ­, ÀÚ¿ø Á¢±Ù °ü¸®ÀÔ´Ï´Ù. ½Å°æ½á¾ßÇÒ ºÎºÐÀÌ ¸î°³ ¾ÈµÇ±ä ÇÏÁö¸¸ ¿¹»ó¿Ü·Î °í¹ÎÇØ¾ßÇÒ ºÎºÐÀÌ ¸¹½À´Ï´Ù. ƯÈ÷ µ¿±âÈ­¿Í ÀÚ¿ø Á¢±Ù °ü¸® ºÎºÐÀä. ½º·¹µå¶ó´Â µ¿½Ã ó¸® ¹æ½ÄÀÌ »ç¶÷¿¡°Ô Àͼ÷Ä¡ ¾Ê¾Æ¼­, ÀÌ °úÁ¤À» ¸Ó¸®·Î ±×¸®´Âµ¥ ¾î·Á¿òÀÌ ¸¹¾Æ¼­ ±×·± °Í °°½À´Ï´Ù.

½º·¹µå¿¡ ´ëÇÑ ÀϹÝÀûÀÎ ³»¿ëÀº Thread¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù.
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.