¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ  Á¦9Àå ÀÚ¹Ù½ºÆ®¸²  9.2 ½ºÆ®¸²  

 

9.1½ºÆ®¸²

 

 

 

 

9.1.1 ½ºÆ®¸²À̶õ?

½ºÆ®¸²À̶õ ÀåÄ¡, »ý°¢Çϱ⠽±°Ô Çϵå¿þ¾îÀåÄ¡¶ó°í ÇÏÁÒ. ÀåÄ¡·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ¾ò°Å³ª º¸³¾ ¶§ »ç¿ëµÇ´Â Áß°£ ¸Å°³Ã¼ ¿ªÇÒÀ» ÇÏ´Â ³ðÀÔ´Ï´Ù. °õ°õÈ÷ »ý°¢Çϸé, º°·Î ¾î·Á¿î °Íµµ ¾Æ´Ñµ¥ ½ºÆ®¸²ÀÌ ¾î·Æ´Ù°í ÇÏ´Â °ÍÀº ¾Æ¸¶µµ ½ºÆ®¸²ÀÇ Á¾·ù°¡ ¸¹°í ´Ù¾çÇϱ⠶§¹®ÀÏ °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸, ±× Á¤È®ÇÑ ¶æÀ» ¾Ë°í ÀÖ´Ù¸é ½ºÆ®¸²Àº ´ë´ÜÈ÷ ½¬¿öÁý´Ï´Ù.

 

½ºÆ®¸²! ÀÌ ½ºÆ®¸²Àº ¿©·¯ºÐµéÀ» µµ¿ÍÁÖ´Â ¾ÆÁÖ ÈǸ¢ÇÑ µµ±¸ÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ Çϵå¿þ¾î¸¦ ¾îÄÉ ¾Ë°Ú½À´Ï±î? Computer EngineeringÂʵµ ¾Æ´Ñµ¥. Àú ¶ÇÇÑ ¸¶Âù°¡Áö ¾Æ´Ï°Ú½À´Ï±î? ±×·±µ¥, ¿ì¸®´Â Çϵå¿þ¾î ÀåÄ¡¸¦ ¸ô¶óµµ ±× ÂÊ¿¡ ÇÒ°Ç ´Ù Çϰí ÀÖ½À´Ï´Ù. À̰ÍÀ» ÇØ°áÇØ ÁÖ´Â °ÍÀÌ ¹Ù·Î ½ºÆ®¸²ÀÌÁÒ. ´©±º°¡°¡ ¹Ì¸® ÀåÄ¡¿¡ ¿¬°áÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¸¸µé¾î µÐ °ÍÀÔ´Ï´Ù. ¾î¶»°Ô ÀåÄ¡¿¡ ½ºÆ®¸²À» ¿¬°áÇÏ´À³Ä°¡ ¹®Á¦Áö »ç¿ëÇÏ´Â ¹æ¹ýÀº º°·Î ¾î·ÆÁö ¾Ê½À´Ï´Ù. ÀåÄ¡¿¡ ½ºÆ®¸²¸¸ ¿¬°áµÇ¸é ÇÏ´Â ÀÏÀº »·Çϰŵç¿ä. ÀåÄ¡·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ÀоîµéÀ̰ųª ±â·ÏÇϰųª µÑÁß¿¡ ÇϳªÁÒ¹¹. ½ºÆ®¸²¿¡¼­ ÀÐ°í ¾²´Â °ÍÀ» »©¸é ¾Æ¸¶ ½ºÆ®¸²Àº ½Ãü°¡ µÇ°íµµ ³²À» °ÍÀÔ´Ï´Ù. ¹°·Ð ¸ðµç ÀåÄ¡°¡ Çϵå¿þ¾î°è¿­Àº ¾Æ´Õ´Ï´Ù. Çϵå¿þ¾î °è¿­¿¡ ÀÌ·¯ÇÑ ¹æ¹ýÀ» »ç¿ëÇØ º¸°í ±¦Âú´Ù ½ÍÀ¸´Ï±î À̰÷ Àú°÷¿¡ ½ºÆ®¸²À» ¸· ¸¸µé¾î µÎ´Â °ÍÀÌÁö¿ä. ½ºÆ®¸²Àº ÀԷ°ú Ãâ·ÂÀ» µµ¿ÍÁÖ´Â ¸Å°³¿ªÇÒÀ» ÇÏ´Â °ÍÀÌ´Ï, ÀԷ°ú Ãâ·ÂÀÌ °ü·ÃµÈ °÷ÀÌ¸é ¾îµð¼­µç µîÀÛÀ» ÇÏ´Â °Í ¾Æ´Ï°Ú½À´Ï±î?

 

½ºÆ®¸²ÀÇ Á¾·ù´Â ¾ÆÁÖ ´Ù¾çÇÏ°Ô ºÐ·ùµÇ¾îÁö°í ÀÖ½À´Ï´Ù. ÀÌÀ¯´Â ¾ÆÁÖ ´Ü¼øÇÏÁÒ. µ¥ÀÌÅÍÀÇ ÀÔÃâ·ÂÀåÄ¡°¡ ¿©·¯ Á¾·ùÀÌ´Ï ½ºÆ®¸²ÀÇ Á¾·ùµµ ¿©·¯ Á¾·ù¶ó°í ¸»ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ü¼øÈ÷ ºÐ·ùÇÏÀÚ¸é ÀԷ°ú Ãâ·Â ½ºÆ®¸²À¸·Î ³ª´©¾î »ý°¢ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ÀÔ·ÂÀ̵ç Ãâ·ÂÀÌµç °¢°¢ÀÇ ÀÔÃâ·Â ÀåÄ¡¿¡ ÇØ´çÇÏ´Â ½ºÆ®¸²ÀÌ °ÅÀÇ ´ëºÎºÐ ÇѽÖÀ¸·Î µÇ¾î ÀÖ½À´Ï´Ù.

 

¸¸¾à ÆÄÀÏ¿¡ µ¥ÀÌÅ͸¦ ÀÐ°í ±â·ÏÇϰíÀÚ ÇÑ´Ù¸é, ¿©·¯ºÐÀº ´ç¿¬È÷ ÆÄÀÏ¿¡ °ü·ÃµÈ ½ºÆ®¸²À» ãÀ» °ÍÀÔ´Ï´Ù. ÀÚ¹Ù¿¡¼­ ÆÄÀϽºÆ®¸²Àº FileInputStream°ú FileOutputStreamÀÌ ÀÖ½À´Ï´Ù. ÀÔ·ÂÀ̵ç Ãâ·ÂÀÌµç ¸ñÇ¥ÁöÁ¡À» Á¤È®ÇÏ°Ô ÁÖ¾î¾ß ÆÄÀÏÀ» ÀÐ°í ±â·ÏÇÒ °ÍÀÔ´Ï´Ù. ÆÄÀÏ ÀÔ.Ãâ·Â½ºÆ®¸²¿¡ ¸ñÇ¥ÁöÁ¡(ÆÄÀÏÀ̸§)À» ÁÖ°í ³­ ÈÄ ½ºÆ®¸²À» »ý¼ºÇϰí, ±â·ÏÀ» ÇϵçÁö ÀÐ¾î µéÀ̵çÁö µÑ Áß¿¡ Çϳª°ÚÁÒ. °ÅÁþ¸»°°Áö¸¸ ÀÚ¹Ù ½ºÆ®¸²ÀÌ ÇÏ´Â ÀÏÀº À̰͹ۿ¡´Â ¾ø½À´Ï´Ù. Ưº°ÇÑ °ÍÀº ¾ø½À´Ï´Ù.

½ºÆ®¸²À» ¼³¸íÇϰíÀÚ ÇÒ ¶§ ´ÙÀ½°ú °°Àº ºñÀ¯°¡ °¡Àå ÁÁÀº °Í °°±º¿ä

 

n         ½ºÆ®¸²Àº µ¥ÀÌÅ͸¦ ÀÐ°í ±â·ÏÇÏ´Â Áß°£¿ªÇÒÀ» ÇÑ´Ù.

n         ½ºÆ®¸²Àº »¡´ë´Ù.

n         »¡´ë´Â À½·á¼ö¸¦ ¸¶½Ã´Â Áß°£¿ªÇÒÀ» ÇÑ´Ù.

n         »¡´ë´Â ÀÔ¿¡ ÀÖ´Â À½·á¼ö¸¦ ´Ù½Ã ³»¹ñ´Â Áß°£¿ªÇÒÀ» ÇÑ´Ù.

n         ½ºÆ®¸²Àº ´Ü ¹æÇâ »¡´ë´Ù. À½·á¼ö¸¦ ³»¹ñ°í ´Ù½Ã ¸¶½Ã·Á¸é »¡´ë°¡ 2°³ ÇÊ¿äÇÏ´Ù.

 

¾à°£ ÁöÀúºÐÇϱä ÇÏÁö¸¸ ¾ÆÁÖ Å¹¿ùÇÑ ºñÀ¯ÀÎ °Í °°½À´Ï´Ù. ´õ ÀÚ¼¼ÇÏ°Ô ÀԷ°ú Ãâ·ÂÀ» ³ª´©¾î¼­ ºñ±³ÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

    ÀԷ½ºÆ®¸² ºñ±³

n        ÀÔ·Â ½ºÆ®¸²Àº µ¥ÀÌÅ͸¦ ¸ÕÀú ½ºÆ®¸²À¸·Î ÀÐ¾î µéÀÔ´Ï´Ù. ±×¸®°í ½ºÆ®¸²¿¡ Á¸ÀçÇÏ´Â µ¥ÀÌÅ͸¦ Çϳª¾¿ ÀÐ¾î µéÀÏ ¼ö ÀÖ½À´Ï´Ù.

n        À½·á¼ö¸¦ ¸¶½Ç ¶§ »¡´ë¸¦ ÀÌ¿ëÇÏ¿© À½·á¼ö¸¦ »¡´ë¿¡ ¸ðÀ¸°í »¡´ë¿¡ µé¾îÀÖ´Â À½·á¼ö¸¦ ÈíÀÔÇÕ´Ï´Ù. ±×·¯¸é ÀÔ¾ÈÀ¸·Î À½·á¼ö°¡ µé¾î ¿Ã °ÍÀÔ´Ï´Ù.

 

    Ãâ·Â½ºÆ®¸²ÀÇ ºñ±³

n        Ãâ·Â½ºÆ®¸²À¸·Î µ¥ÀÌÅ͸¦ º¸³À´Ï´Ù. ±×¸®°í Ãâ·Â½ºÆ®¸²¿¡ º¸³½ µ¥ÀÌÅ͸¦ ºñ¿ö ¹ö¸³´Ï´Ù. ±×·¸°Ô µÇ¸é Ãâ·Â ½ºÆ®¸²¿¡ Á¸ÀçÇÏ´ø µ¥ÀÌÅͰ¡ ¸ðµÎ ¸ñÇ¥ÁöÁ¡¿¡ ÀúÀåµË´Ï´Ù.

n        ÀԾȿ¡ ÀÖ´ø À½·á¼ö¸¦ »¡´ë·Î ÀÏ´Ü º¸³À´Ï´Ù. »¡´ë¿¡ µé¾î ÀÖ´Â À½·á¼ö¸¦ ºÒ¾î ¹ö¸³´Ï´Ù. ±×·¸°Ô µÇ¸é À½·á¼ö´Â ´Ù½Ã ÄžÈÀ¸·Î µé¾î°¡°Ô µË´Ï´Ù.

 

ÀÌ·¯ÇÑ ÀýÂ÷¸¦ ½ºÆ®¸²À¸·Î Ç¥ÇöÇÏ¸é ´ÙÀ½°ú °°ÀÌ µÇ¾î Áú °ÍÀÔ´Ï´Ù.

n        ¸ñÇ¥·Î ÇÏ´Â µ¥ÀÌÅ͸¦ Á¤ÇÑ´Ù.

n        µ¥ÀÌÅÍ¿¡ ¸Â´Â ½ºÆ®¸²À» »ý¼ºÇÑ´Ù.

n        ½ºÆ®¸²Å¬·¡½ºÀÇ ¸â¹ö¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© ½±°Ô µ¥ÀÌÅ͸¦ ÇÚµéÇÑ´Ù. ±â·ÏÇϰųª ÀоîµéÀ̰ųª, º¸³»°Å³ª ¹Þ°Å³ª!

 

 À§¿Í °°ÀÌ ½ºÆ®¸²Àº µ¥ÀÌÅÍÀÇ Áß°£ÀÚ ¿ªÇÒÀ» ÇÕ´Ï´Ù. ¿ì¸®´Â µ¥ÀÌÅÍÀÇ ¸ñÇ¥ÁöÁ¡ÀÌ ³×Æ®¿÷ÀÇ ¾î¶°ÇÑ Àå¼ÒÀ̵ç, ¸Þ¸ð¸®ÀÌµç »ó°üÇÏÁö ¾Ê½À´Ï´Ù. ´Ù¸¸ ÇØ´ç µ¥ÀÌÅ͸¦ ½ºÆ®¸²À¸·Î º¸³»°í ±×¸®°í ½ºÆ®¸²¿¡ Á¸ÀçÇÏ´Â µ¥ÀÌÅ͸¦ ÀÐ¾î µéÀ̰ųª ±â·ÏÇØ ¹ö¸®¸é ³¡ÀÎ °ÍÀÔ´Ï´Ù. À̰ÍÀº ¸ñÇ¥ÁöÁ¡ÀÌ ¾îµð¶óµµ »ó°ü¾ø´Ù´Â À̾߱âÁÒ. ±×¸®°í, º¹ÀâÇÑ ÀÛ¾÷Àº ½ºÆ®¸²ÀÌ ¾Ë¾Æ¼­ ÇØ°áÇØ Áشٴ ÀǹÌÀÔ´Ï´Ù. ½ºÆ®¸²ÀÌ ¾ø´Ù¸é Á÷Á¢ ´Ù ÇØ¾ßÁÒ¹¹. ÀÚ ±×·¸´Ù¸é ½ºÆ®¸²¿¡´Â ¾î¶² Á¾·ùÀÇ ½ºÆ®¸²ÀÌ ÀÖ´ÂÁö¸¦ ¾Ë¾Æ º¸µµ·Ï ÇÏÁÒ.

 

 

 

9.1.2 ½ºÆ®¸²ÀÇ Á¾·ù

 ½ºÆ®¸²Àº °¡Àå ÃÖÃÊÀÇ ºÐ·ù¸¦ ´ç¿¬È÷ ÀԷ°ú Ãâ·Â ½ºÆ®¸²À¸·Î ³ª´­ ¼ö ÀÖ½À´Ï´Ù. °¢°¢ÀÇ ÀåÄ¡¿¡ ´ç¿¬È÷ ÀԷ°ú Ãâ·ÂÀº ÀÖÀ¸´Ï ´ç¿¬ÇÑ °Í ¾Æ´Ï°Ú½À´Ï´Ù.

 

±âº»ÀûÀÎ ºÐ·ù

n        ÀÔ·Â ½ºÆ®¸²(ex. FileInputStream, ObjectInputStream)

n        Ãâ·Â ½ºÆ®¸²(ex. FileOutputStrea, ObjectOutputStream)

 

ÀÌ ±âº»ÀûÀÎ ºÐ·ù´Â °¢°¢ÀÇ ÀåÄ¡¿¡ ½ÖÀ¸·Î ÀÔÃâ·ÂÀÌ Á¸ÀçÇÑ´Ù°í º¼ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ÀÌ·¯ÇÑ ºÐ·ù´Â »ç½Ç ºÐ·ùµµ ¾Æ´ÏÁö¿ä. ±×·¸´Ù¸é ½ÇÁ¦ÀûÀÎ ºÐ·ù´Â ¾î¶°ÇÑ ¹æ½ÄÀ¸·Î ³ª´­ ¼ö ÀÖÀ»±î¿ä? °¡Àå ¸¹ÀÌ ³ª´©´Â ºÐ·ù´Â º¸Åë ¹®ÀÚ´ÜÀ§·Î ½ºÆ®¸²À» ó¸®ÇÏ´À³Ä, ¹ÙÀÌÆ®´ÜÀ§·Î ó¸®ÇÏ´À³Ä¿¡ µû¶ó¼­ ³ª´©¾îÁý´Ï´Ù. ÀÌ·¯ÇÑ ºÐ·ù´Â ÇÁ·Î±×·¥»ó¿¡¼­µµ ±¸ºÐÀÌ È®¿¬È÷ µå·¯ ³ª°í ÀÖ½À´Ï´Ù.

 

ÇöÀç ¾Æ·¡¿¡ ³ªÅ¸³­ ±¸Á¶´Â ¹®ÀÚ ½ºÆ®¸²ÀÇ ±¸¼ºµµ ÀÔ´Ï´Ù. ÀÏ´Ü ¹®ÀÚ½ºÆ®¸²Àº ÃÖ»óÀ§ÀÇ Reader¿Í Writer·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù. ±×¸®°í °ÅÀÇ ´ëºÎºÐÀÇ ½ºÆ®¸²ÀÇ À̸§¿¡ ±ÔÄ¢ÀÌ ÀÖ½À´Ï´Ù. ÀÚ¼¼È÷ Çѹø º¸½Ã±â ¹Ù¶ø´Ï´Ù.

±× ±ÔÄ¢Àº Reader Áï, ÀԷ¹®ÀÚ½ºÆ®¸²Àº ´ëºÎºÐ Reader¶ó´Â ´Ü¾î°¡ ºÙ¾îÀÖ½À´Ï´Ù. ¹Ý´ë·Î Writer Ãâ·Â ¹®ÀÚ ½ºÆ®¸²¿¡¼­ Writer¶ó´Â ´Ü¾î°¡ ºÙ¾î ÀÖ½À´Ï´Ù. ±×·¸´Ù¸é, ÀÌ·¯ÇÑ °á·ÐÀ» ³»¸± ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. Reader³ª Writer°¡ ºÙ´Â´Ù¸é, ¹®ÀÚ½ºÆ®¸²ÀÇ ÇÑ Á¾·ù´Ù¶ó°í »ý°¢ÇÏ½Ã¸é ÆíÇÒ °ÍÀÔ´Ï´Ù. ¹®ÀÚ ½ºÆ®¸²À» ±¸ºÐÇ϶ó°í Reader¿Í Writer¸¦ °íÀÇ·Î ºÙ¿© µÐ ¸ð¾çÀÔ´Ï´Ù. »ç½Ç, ¹®ÀÚ°ü·Ã ½ºÆ®¸²Àº ´ëºÎºÐ Reader¿Í Writer¸¦ »ó¼Ó¹ÞÁÒ. ±×·¡¼­ ±×·±°ÍÀÔ´Ï´Ù.

 

´ÙÀ½À¸·Î ¹ÙÀÌÆ® ½ºÆ®¸²ÀÇ ±¸¼ºµµ¸¦ Çѹø º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

À§ÀÇ ½ºÆ®¸²Àº ¹ÙÀÌÆ® ½ºÆ®¸²À¸·Î ÀÌ ½ºÆ®¸² ¶ÇÇÑ ÀԷ°ú Ãâ·ÂÀÇ Â÷À̸¦ InputStream°ú OutputStreamÀ¸·Î ³ª´©¾î º¼ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ¹®ÀÚ ½ºÆ®¸²¿¡¼­¿Í °°ÀÌ InputStream¿¡´Â ´ëºÎºÐ InputStreamÀ̶ó´Â ²¿¸®¸»ÀÌ OutputStream¿¡´Â OutputStreamÀ̶ó´Â ²¿¸®¸»ÀÌ ºÙ¾î ÀÖ½À´Ï´Ù. ¹°·Ð ¾Æ´Ñ ³ðµµ ¸î Àִµ¥ ÀÏ´ÜÀº ´ëºÎºÐ ÀÌ Çü½ÄÀ» µû¸£°í ÀÖÀ¸´Ï InputStream°ú OutputStreamÀÌ ºÙ¾î ÀÖÀ¸¸é ¹ÙÀÌÆ® ½ºÆ®¸²À¸·Î º¸¾Æµµ ÁÁÀ» °ÍÀÔ´Ï´Ù.

 

½ºÆ®¸²ÀÇ Á¾·ù1

n        ¹®ÀÚ½ºÆ®¸²: Reader³ª Writer°¡ ºÙ´Â´Ù.

n        ¹ÙÀÌÆ®½ºÆ®¸²:InputStream°ú OutputStreamÀÌ ºÙ´Â´Ù.

 

½ºÆ®¸²ÀÇ Á¾·ù´Â ¾ÆÁÖ ¸¹½À´Ï´Ù. ÀÌ·¯ÇÑ ½ºÆ®¸²À» ÀüºÎ »ç¿ëÇÒ ÁÙ ¾È´Ù¸é ´ÙÇàÀ̰ÚÁö¸¸ À̰ÍÀ» ¸ðµÎ ½ÀµæÇϱ⿡´Â ¿ªºÎÁ·ÀÏ °ÍÀÔ´Ï´Ù. ¼ÖÁ÷È÷ Á¾·ù°¡ ³Ê¹« ¸¹½À´Ï´Ù. ±×·¸´Ù°í ±×³É ¾É¾Æ ÀÖÀ» ¼ö¸¸Àº ¾ø½À´Ï´Ù. ÀÏ´ÜÀº ³ªÁß¿¡ »ç¿ëÇÏ´õ¶óµµ ¾î¶² ±ÔÄ¢ÀÌ¶óµµ Ã£¾Æ¾ß ÇÒ °ÍÀÔ´Ï´Ù. ÀÚ ±×·¸´Ù¸é ±ÔÄ¢À» ã¾Æ º¸µµ·Ï ÇÏÁÒ.

 

 ½ºÆ®¸²¿¡¼­ ³ªÅ¸³ª´Â ±ÔÄ¢Àº ¾ÆÁÖ ´Ü¼øÇÕ´Ï´Ù. InputStream°ú Reader°è¿­ÀÏ °æ¿ì¿¡´Â ÀÐ¾î µéÀÌ´Â ¸Þ¼­µå¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ±×¸®°í OutputStream °ú Writer°è¿­ÀÏ °æ¿ì¿¡´Â ±â·ÏÇÏ´Â ¸Þ¼­µå¸¦ Æ÷ÇÔ Çϰí ÀÖÀ» °ÍÀÔ´Ï´Ù. InputStream°ú OutputStreamÀÏ °æ¿ì¿¡´Â ¹ÙÀÌÆ®¸¦ Reader¿Í WriterÀÇ °æ¿ì ¹®ÀÚ¸¦ ´Ù·ç´Â ¸Þ¼­µå¸¦ Æ÷ÇÔÇϰí ÀÖÀ» °ÍÀÔ´Ï´Ù. À̰ÍÀ» Á¤¸®ÇÑ´Ù¸é ´ÙÀ½°ú °°ÀÌ ³ªÅ¸³¾ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

 

    ½ºÆ®¸²ÀÇ Á¾·ù2

n        ÀԷ½ºÆ®¸²: Reader³ª InputStream

n        Ãâ·Â½ºÆ®¸²:Writer³ª OutputStream

 

ÀԷ°迭ÀÇ ½ºÆ®¸²Àº ´ëºÎºÐ read¶ó´Â ¸Þ¼­µå¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ÀÐ¾î µéÀδٴ Àǹ̰ÚÁÒ. ´ÙÀ½Àº ÀԷ½ºÆ®¸²¿¡ »ç¿ëµÇ´Â ¸Þ¼­µå¸¦ º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.

 

ÀԷ½ºÆ®¸²°è¿­ÀÇ ¸â¹ö¸Þ¼­µå

¹ÙÀÌÆ®´ÜÀ§(InputStream)

n         int read()

n         int read(byte cbuf[])

n         int read(byte cbuf[], int offset, int length)

 

¹®ÀÚ´ÜÀ§(Reader)

n         int read()

n         int read(char cbuf[])

n         int read(char cbuf[], int offset, int length)

 

Ãâ·Â°è¿­ÀÇ ½ºÆ®¸²Àº ´ëºÎºÐ write¶ó´Â ¸Þ¼­µå¸¦ Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. ±â·ÏÇÑ´Ù´Â Àǹ̰ÚÁÒ. ´ÙÀ½Àº Ãâ·Â½ºÆ®¸²¿¡ »ç¿ëµÇ´Â ¸Þ¼­µå¸¦ º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.

 

Ãâ·Â½ºÆ®¸²°è¿­ÀÇ ¸â¹ö¸Þ¼­µå

¹ÙÀÌÆ®´ÜÀ§(OutputStream)

n  int write(int c)

n  int write(byte cbuf[])

n  int write(byte cbuf[], int offset, int length)

 

¹®ÀÚ´ÜÀ§(Writer)

n  int write(int c)

n  int write(char cbuf[])

n  int write(char cbuf[], int offset, int length)

 

À̰ÍÀº ´Ü¼øÈ÷ ÀÔÃâ·Â¿¡ °üÇÑ ±ÔÄ¢ÀÔ´Ï´Ù. ´ÙÀ½Àº ¹®ÀÚ½ºÆ®¸²°ú ¹ÙÀÌÆ®½ºÆ®¸²ÀÇ °£´ÜÇÑ ¼³¸íÀ» ºÙÀÎ °ÍÀÔ´Ï´Ù.

 

¹®ÀÚ ½ºÆ®¸² Ŭ·¡½º

¹ÙÀÌÆ® ½ºÆ®¸² Ŭ·¡½º

¼³¸í

Reader

InputStream

¹®ÀÚ/¹ÙÀÌÆ® ÀÔ·Â ½ºÆ®¸²À» À§ÇÑ Ãß»óŬ·¡½º

BufferedReader

BufferedInputStream

¹®ÀÚ/¹ÙÀÌÆ® ¹öÆÛ ÀÔ·Â, ¶óÀÎ ÇØ¼®

LineNumberReader

LineNumberInputStream

¹®ÀÚ/¹ÙÀÌÆ® ÀԷ½Ã, ¶óÀÎ ¹øÈ£¸¦ À¯Áö

CharArrayReader

ByteArrayInputStream

¹®ÀÚ/¹ÙÀÌÆ® ¹è¿­¿¡¼­ ÀоîµéÀÓ

InputStreamReader

 

¹ÙÀÌÆ® ½ºÆ®¸²À» ¹®ÀÚ ½ºÆ®¸²À¸·Î º¯È¯

FileReader

FileInputStream

ÆÄÀÏ¿¡¼­ ¹ÙÀÌÆ®¸¦ Àоîµé¾î ¹®ÀÚ/¹ÙÀÌÆ® ½ºÆ®¸²À¸·Î º¯È¯

FilterReader

FilterInputStream

ÇÊÅÍÀû¿ë(filtered) ¹®ÀÚ/¹ÙÀÌÆ® ÀÔ·ÂÀ» À§ÇÑ Ãß»óŬ·¡½º

PushbackReader

PushbackInputStream

ÀоîµéÀÎ ¹®ÀÚ/¹ÙÀÌÆ®¸¦ µÇµ¹¸²(pushback)

PipedReader

PipedInputStream

PipedWriter/PipedOutputStream¿¡¼­ ÀоîµéÀÓ

StringReader

StringBufferInputStream

¹®ÀÚ¿­¿¡¼­ ÀоîµéÀÓ

Writer

OutputStream

¹®ÀÚ Ãâ·Â ½ºÆ®¸²À» À§ÇÑ Ãß»óŬ·¡½º

BufferedWriter

BufferedOutputStream

¹®ÀÚ/¹ÙÀÌÆ® ½ºÆ®¸²¿¡ ¹öÆÛ Ãâ·Â, BufferedWriter´Â Ç÷§Æû¿¡¼­ »ç¿ëÇÏ´Â ¶óÀÎ ±¸ºÐÀÚ(line separator) »ç¿ë

CharArrayWriter

ByteArrayOutputStream

¹®ÀÚ/¹ÙÀÌÆ® ½ºÆ®¸²¿¡ ¹®ÀÚ/¹ÙÀÌÆ® ¹è¿­ Ãâ·Â

FilterWriter

FilterOutputStream

ÇÊÅÍÀû¿ë(filtered) ¹®ÀÚ/¹ÙÀÌÆ® Ãâ·ÂÀ» À§ÇÑ Ãß»óŬ·¡½º

OutputStreamWriter

(none)

¹®ÀÚ ½ºÆ®¸²À» ¹ÙÀÌÆ® ½ºÆ®¸²À¸·Î º¯È¯

FileWriter

FileOutputStream

¹®ÀÚ/¹ÙÀÌÆ® ½ºÆ®¸²À» ¹ÙÀÌÆ® ÆÄÀÏ·Î º¯È¯

PrintWriter

PrintStream

Writer/Streamdp °ª°ú °´Ã¼¸¦ ÇÁ¸°Æ®

PipedWriter

PipedOutputStream

PipedReader/PipedOutputStream¿¡ Ãâ·Â

StringWriter

(none)

¹®ÀÚ¿­ Ãâ·Â

 

 À̰ÍÀ» ¿Ü¿ï ÇÊ¿ä´Â ¾ø°ÚÁÒ. ¾î¶»°Ô ÇÏ´Ùº¸¸é ¾ËÁöµµ ¸ð¸£´Ï±î¿ä.

 

 

 

 

9.1.3 ¹ÙÀÌÆ®½ºÆ®¸²°ú ¹®ÀÚ½ºÆ®¸²

½ºÆ®¸²ÀÇ °¡Àå ±âº»ÀûÀÎ ºÐ·ù´Â ´ÙÀ½°ú °°Àº µÎ °¡Áö Á¾·ù°¡ ÀÖ½À´Ï´Ù.

 

n        ¹ÙÀÌÆ® ½ºÆ®¸²: ¹ÙÀÌÆ®, ¹ÙÀÌÆ® ¹è¿­

n        ¹®ÀÚ ½ºÆ®¸²: ¹®ÀÚ, ¹®ÀÚ ¹è¿­, ¹®ÀÚ¿­

 

¹ÙÀÌÆ®½ºÆ®¸²ºÎÅÍ ¾Ë¾Æ º¸µµ·Ï ÇÏÁÒ. ¹ÙÀÌÆ® ½ºÆ®¸²Àº µ¥ÀÌÅ͸¦ ¹ÙÀÌÆ®´ÜÀ§·Î ÁÖ°í ¹Þ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. ´ëÇ¥ÀûÀÎ ¹ÙÀÌÆ® ½ºÆ®¸²Àº InputStream°ú OutputStreamÀ̶ó°í ¹è¿ü½À´Ï´Ù. ±×·¸´Ù¸é, InputStream°ú OutputStreamÀ» Åë°úÇÏ´Â ´ÜÀ§´Â ´ç¿¬È÷ ¹ÙÀÌÆ®°ÚÁÒ. ¹ÙÀÌÆ®°¡ ¹ºÁö ¾Æ½Ê´Ï±î? 8bitÀÇ ÀÌÁø ºñÆ®¸¦ ¹­À¸¸é ¹ÙÀÌÆ®°¡ µÇÁÒ. ¹Ù·Î ±× ¹ÙÀÌÆ®ÀÔ´Ï´Ù. ¿ø·¡ µ¥ÀÌÅÍ´Â ¸ðµÎ ¹ÙÀÌÆ®ÁÒ. ¾Ë°í º¸¸é ±×¸²µµ ¹ÙÀÌÆ®µé·Î ÀÌ·ç¾îÁ® ÀÖ°í, ÅØ½ºÆ®µµ ¹ÙÀÌÆ®·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù. ±×¸®°í, ¹°·Ð zipÀ̳ª jar°°Àº ¾ÐÃàÆÄÀϵµ ÀÏ´ÜÀº ¹ÙÀÌÆ®·Î µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ ¹ÙÀÌÆ®µéÀÌ ÀûÀýÇÏ°Ô º¯È¯ µÇ¸é ÀÇ¹Ì ÀÖ´Â µ¥ÀÌÅͰ¡ µÇ´Â °ÍÀÌÁö¿ä. ¿ø½Ã ¹ÙÀÌÆ®·Î ÁÖ°í ¹Þ°Ú´Ù´Â °ÍÀÔ´Ï´Ù. ±×·±µ¥, ¹®ÀÚ½ºÆ®¸²Àº ¹» º¸°í ¹®ÀÚ ½ºÆ®¸²À̶ó°í ÇÒ±î¿ä?

 

ÀÚ¹Ù¿¡¼­ »ç¿ëÇÏ´Â ¹®ÀÚ¹æ½ÄÀº µÎ ¹ÙÀÌÆ®·Î ÇÑ ¹®ÀÚ¸¦ Ç¥ÇöÇÏ´Â À¯´ÏÄÚµå¹æ½ÄÀÔ´Ï´Ù. ±×·¡¼­, ¹ÙÀÌÆ®·Î Àü¼ÛµÇ¾îÁö´Â °ÍÀ» ½ºÆ®¸²¿¡¼­ ÀÎÄÚµùÀ» °¡ÇÏ°Ô µË´Ï´Ù. Áï, ¹ÙÀÌÆ®¸¦ ¹®ÀÚ·Î °¡°øÀ» ÇÑ´Ù´Â ¸»ÀÌÁÒ. ÀÌ ÀÎÄÚµùÀº ¹®ÀÚ½ºÆ®¸²ÀÌ ´ã´çÇÕ´Ï´Ù. ¾Æ·¡ÀÇ ±×¸²Àº ½ºÆ®¸²ÀÌ ¹®ÀÚ¸¦ ÀÎÄÚµùÇÏ´Â °ÍÀ» º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.

 

 

 

 

¹ÙÀÌÆ® ½ºÆ®¸²Àº º¸Åë ´ëºÎºÐ InputStream°ú OutputStreamŬ·¡½º¸¦ »ó¼ÓÇϰí ÀÖÀ¸¸ç ´ëºÎºÐ InputStream°ú OutputStreamÀ̶ó´Â ´Ü¾î·Î ³¡³³´Ï´Ù. ÀÌ·¯ÇÑ ¹ÙÀÌÆ®½ºÆ®¸²ÀÇ Á¾·ù´Â ´ÙÀ½°ú °°½À´Ï´Ù.

 

AudioInputStream, ByteArrayInputStream, FileInputStream, FilterInputStream, InputStream, ObjectInputStream, PipedInputStream, SequenceInputStream, StringBufferInputStream, BufferedInputStream, ByteArrayInputStream, DataInputStream, FilterInputStream, PushbackInputStream, ByteArrayOutputStream, FileOutputStream, FilterOutputStream, ObjectOutputStream, OutputStream, PipedOutputStream, BufferedOutputStream, ByteArrayOutputStream, DataOutputStream, FilterOutputStream

 

Á¤¸» ¸¹ÁÒ. ±×·±µ¥ ÇѰᰰÀÌ InputStream°ú OutputStreamÀ̶ó´Â ´Ü¾î¸¦ ´Þ°í ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ½ºÆ®¸²À» ¹ÙÀÌÆ®½ºÆ®¸²À̶ó°í ÇÕ´Ï´Ù. ³»ºÎÀûÀ¸·Î ¹ÙÀÌÆ®´ÜÀ§·Î ½ºÆ®¸² 󸮸¦ ÇÏ´Â °ÍÀÔ´Ï´Ù.

 

¹®ÀÚ½ºÆ®¸²Àº Reader¿Í Writer¸¦ ´Þ°í ÀÖ½À´Ï´Ù. ¸ðµÎ ¹®ÀÚ´ÜÀ§·Î ÀÎÄÚµù 󸮸¦ ÇÏ´Â ½ºÆ®¸²µéÀÔ´Ï´Ù. ¹®ÀÚ½ºÆ®¸²µéÀº ´ÙÀ½°ú °°½À´Ï´Ù.

 

Writer, BufferedWriter, CharArrayWriter, FilterWriter, OutputStreamWriter, FileWriter, PipedWriter, PrintWriter, StringWriter, BufferedReader, LineNumberReader, CharArrayReader, InputStreamReader, FileReader, FilterReader, PushbackReader, PipedReader, StringReader

 

±×³É Çѹø È®ÀÎÇØº¸´Â °ÍÀÌÁö Ưº°ÇÑ Àǹ̴ ¾ø½À´Ï´Ù. À§ÀÇ ½ºÆ®¸²µéÀº ¹®ÀÚ½ºÆ®¸²ÀÌµç ¹ÙÀÌÆ®½ºÆ®¸²À̵ç, µÑ ´Ù ¸ðµÎ óÀ½¿£ ¹ÙÀÌÆ®·Î ¹Þ¾ÆµéÀÌ´Â °ÍÀº ¸¶Âù°¡ÁöÀÔ´Ï´Ù. ±×¸®°í, ÇØ´ç ½ºÆ®¸²ÀÌ ¾Ë¾Æ¼­ 󸮸¦ ÇØ ÁÖ´Â °ÍÀÌÁö¿ä. °¢°¢ÀÇ ½ºÆ®¸²ÀÇ ¿ªÇÒÀº °¡°øÇÏ´Â ¹æ¹ý°ú ÀåÄ¡°¡ ´Ù¸¦ »Ó ÀüºÎ ½ºÆ®¸²ÀÔ´Ï´Ù. °¢ ÀåÄ¡¿¡ ¸Â´Â ½ºÆ®¸²À» ÀÌ¿ëÇÏ´Â °ÍÀÌ ÇÁ·Î±×·¡¸Ó°¡ ÇÏ´Â ÀÏÀÌÁÒ. °á·ÐÀûÀ¸·Î ½ºÆ®¸²Àº µ¥ÀÌÅ͸¦ ÇÁ·Î±×·¡¸Ó°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍ·Î ¹Ù²Ù¾îÁÖ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. ¹°·Ð, ÀåÄ¡¿¡ ¿¬°áÀ» ÇØÁÖ´Â ¸Å°³Ã¼¿ªÇÒÀ» ÇÏ´Â °ÍÀº ±âº»ÀÔ´Ï´Ù.

jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ
ÀúÀÚ:ÃÖ¿µ°ü