Ç÷§Æû ·±Å¸ÀÓ Ç÷¯±×ÀÎÀº µ¥ÀÌÅÍ ½ºÆ®¸²ÀÇ ÄÁÅÙÃ÷ À¯ÇüÀ» Á¤ÀÇÇÏ°í ¹ß°ßÇÏ´Â ÇϺΠ±¸Á¶¸¦ Á¤ÀÇÇÕ´Ï´Ù. (ÄÁÅÙÃ÷ ÇÁ·¹ÀÓ¿öÅ©¿¡ ´ëÇÑ °³¿ä´Â ÄÁÅÙÃ÷ À¯ÇüÀ» ÂüÁ¶ÇϽʽÿÀ.) ÄÁÅÙÃ÷ À¯Çü ½Ã½ºÅÛÀÇ Áß¿ä ºÎºÐÀº ´Ù¸¥ ÄÁÅÙÃ÷ À¯Çü¿¡ ´Ù¸¥ ÀÎÄÚµù(¹®ÀÚ ¼¼Æ®)À» ÁöÁ¤ÇÏ´Â ±â´ÉÀÔ´Ï´Ù. ÀÚ¿ø API¸¦ »ç¿ëÇϸé ÇÁ·ÎÁ§Æ®, Æú´õ ¹× ÆÄÀÏ¿¡ ±âº» ¹®ÀÚ ¼¼Æ®¸¦ Ãß°¡·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ±âº» ¹®ÀÚ ¼¼Æ®´Â ÆÄÀÏ ÄÁÅÙÃ÷ ÀÚü°¡ µ¥ÀÌÅÍ ½ºÆ®¸² ³»ºÎ¿¡ ƯÁ¤ ÀÎÄÚµùÀ» Á¤ÀÇÇÏÁö ¾ÊÀ» °æ¿ì¿¡ ÂüÁ¶µË´Ï´Ù.
±âº» ÆÄÀÏ ÀÎÄÚµùÀÌ ÄÁÅÙÃ÷ À¯Çü¿¡ ¼³Á¤µÉ ¼ö ÀÖÀ½À» ÄÁÅÙÃ÷ À¯Çü¿¡¼ È®ÀÎÇß½À´Ï´Ù. ´õ¿í Á¤¹ÐÇÑ Á¦¾î°¡ ÀÚ¿ø API¿¡¼ Á¦°øµË´Ï´Ù.
IContainer´Â ƯÁ¤ ÇÁ·ÎÁ§Æ® ¶Ç´Â Æú´õ¿¡ ±âº» ¹®ÀÚ ¼¼Æ®¸¦ ¼³Á¤ÇÏ´Â ÇÁ·ÎÅäÄÝÀ» Á¤ÀÇÇÕ´Ï´Ù. À̸¦ ÅëÇØ ÄÁÅÙÃ÷ À¯ÇüÀÇ ±âº» ¹®ÀÚ ¼¼Æ®°¡ ÀûÀýÇÏÁö ¾ÊÀ» ¶§ Ç÷¯±×ÀÎ(¹× ±Ã±ØÀûÀ¸·Î´Â »ç¿ëÀÚ)ÀÌ ÆÄÀÏ ¼¼Æ®¿¡ ÀûÀýÇÑ ¹®ÀÚ ¼¼Æ®¸¦ ´õ¿í ÀÚÀ¯·Ó°Ô ÆÇº°ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
IFileÀº ƯÁ¤ ÆÄÀÏ¿¡ ±âº» ¹®ÀÚ ¼¼Æ®¸¦ ¼³Á¤ÇÏ´Â API¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀÎÄÚµùÀÌ ÆÄÀÏ ÄÁÅÙÃ÷ ³»ºÎ¿¡ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ÀÌ ¹®ÀÚ ¼¼Æ®°¡ »ç¿ëµË´Ï´Ù. ÆÄÀÏÀÇ ±âº» ¹®ÀÚ ¼¼Æ®°¡ ÆÄÀÏÀÇ Æú´õ, ÇÁ·ÎÁ§Æ® ¶Ç´Â ÄÁÅÙÃ÷ À¯Çü¿¡ ÁöÁ¤µÈ ¾î¶°ÇÑ ±âº» ¹®ÀÚ ¼¼Æ®º¸´Ùµµ ¿ì¼±ÇÕ´Ï´Ù.
ÀÏ¹Ý »ç¿ëÀÚ´Â ÀÌ µÎ °¡Áö ±â´É ¸ðµÎ¸¦ ÀÚ¿øÀÇ Æ¯¼º ÆäÀÌÁö¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ IFileÀº ÆÄÀÏÀÇ ¹®ÀÚ ¼¼Æ®¸¦ Á¶È¸ÇÏ´Â APIµµ Á¤ÀÇÇÕ´Ï´Ù. ºÎ¿ï Ç÷¡±×´Â ÆÄÀÏ¿¡ ¸í½ÃÀûÀ¸·Î Á¤ÀÇµÈ ¹®ÀÚ ¼¼Æ®¸¸ ¸®ÅϵǾî¾ß ÇÏ´ÂÁö ¶Ç´Â ³»ÀçµÈ ¹®ÀÚ ¼¼Æ®°¡ ¸®ÅϵǾî¾ß ÇÏ´ÂÁö ¿©ºÎ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°½À´Ï´Ù.
String charset = myFile.getCharset(false);
ÀÌ´Â ¹®ÀÚ ¼¼Æ®°¡ myFile¿¡ ¸í½ÃÀûÀ¸·Î ¼³Á¤µÇÁö ¾ÊÀº °æ¿ì¿¡ ³Î(null)À» ¸®ÅÏÇÕ´Ï´Ù. ±×·¯³ª
String charset = myFile.getCharset(true);
´Â ÆÄÀÏ¿¡ ¸í½ÃÀûÀ¸·Î ¼³Á¤µÈ ¹®ÀÚ ¼¼Æ®°¡ ÀÖ´ÂÁö¸¦ ¸ÕÀú °Ë»çÇÕ´Ï´Ù. ¾Æ¹« Ç׸ñµµ ¾ø´Â °æ¿ì ÆÄÀÏÀÇ ÄÁÅÙÃ÷¿¡ ¹®ÀÚ ¼¼Æ®¿¡ ´ëÇÑ ¼³¸íÀÌ ÀÖ´ÂÁö °Ë»çÇÕ´Ï´Ù. ¾Æ¹« Ç׸ñµµ ¾ø´Â °æ¿ì ÆÄÀÏ¿¡ µé¾î ÀÖ´Â Æú´õ ¹× ÇÁ·ÎÁ§Æ®¿¡ ¹®ÀÚ ¼¼Æ®°¡ ÀÖ´ÂÁö °Ë»çÇÕ´Ï´Ù. ¾Æ¹« Ç׸ñµµ ¾ø´Â °æ¿ì ÄÁÅÙÃ÷ À¯Çü ÀÚü¿¡ Á¤ÀÇµÈ ±âº» ¹®ÀÚ ¼¼Æ®¸¦ °Ë»çÇÕ´Ï´Ù. ¸¶Áö¸·À¸·Î ±âŸ ±âº» ¹®ÀÚ ¼¼Æ® ÁöÁ¤ÀÌ ¾øÀ» °æ¿ì Ç÷§Æû ±âº» ¹®ÀÚ ¼¼Æ®¸¦ °Ë»çÇÕ´Ï´Ù. Æí¸®ÇÑ ¸Þ¼ÒµåÀÎ getCharset()´Â getCharset(true) »ç¿ë ½Ã¿Í µ¿ÀÏÇÕ´Ï´Ù.
ÀÛ¾÷°ø°£¿¡ ÀÖ´Â ÆÄÀÏÀÇ °æ¿ì, IFileÀº ÆÄÀÏ ÄÁÅÙÃ÷ ¼³¸íÀ» È®º¸Çϱâ À§ÇÑ API¸¦ Á¦°øÇÕ´Ï´Ù.
IFile file = ...; IContentDescription description = file.getDescription();
ÀÌ API´Â ºñ·Ï Ŭ¶óÀÌ¾ðÆ®°¡ ÄÁÅÙÃ÷ À¯ÇüÀ» ÆÇº°ÇÏ´Â µ¥¸¸ °ü½ÉÀÌ À־ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ÄÁÅÙÃ÷ À¯ÇüÀº ÄÁÅÙÃ÷ ¼³¸í¿¡¼ ½±°Ô È®º¸ÇÒ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. ÄÁÅÙÃ÷ ¹× À̸§À» È®º¸Çϰí ÄÁÅÙÃ÷ À¯Çü »ç¿ë¿¡ ¼³¸íµÈ ´ë·Î API¸¦ »ç¿ëÇÏ¿© ÀÛ¾÷°ø°£¿¡¼ ÆÄÀÏÀ» ¼³¸íÇϰųª ÄÁÅÙÃ÷ À¯ÇüÀ» ¹ß°ßÇÒ ¼ö ÀÖÁö¸¸ ±ÇÀåÇÏÁö ¾Ê½À´Ï´Ù. IFile.getContentDescription()À» »ç¿ëÇÑ ÄÁÅÙÃ÷ À¯Çü ÆÇº°¿¡¼´Â ÇÁ·ÎÁ§Æ® ¼Ó¼º°ú ÇÁ·ÎÁ§Æ® ƯÁ¤ ¼³Á¤ÀÌ °í·ÁµË´Ï´Ù. ÄÁÅÙÃ÷ À¯Çü °ü¸®ÀÚ·Î ¹Ù·Î À̵¿Çϸé À̸¦ ¹«½ÃÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª ´õ Áß¿äÇÑ °ÍÀº µð½ºÅ©¿¡¼ ÆÄÀÏ ÄÁÅÙÃ÷À» Àд µ¥´Â ¼º´É»ó ¼Òºñ°¡ Àֱ⠶§¹®ÀÔ´Ï´Ù. ÀÚ¿ø Ç÷¯±×ÀÎÀº ÀÛ¾÷°ø°£¿¡ ÀÖ´Â ÆÄÀÏ¿¡ ´ëÇØ ÄÁÅÙÃ÷ ¼³¸í ij½Ã¸¦ À¯Áöº¸¼öÇÕ´Ï´Ù. À̷νá ÄÁÅÙÃ÷ ¼³¸í ´ñ°¡°¡ Çã¿ë °¡´ÉÇÑ ¼öÁØÀ¸·Î ÁÙ¾îµì´Ï´Ù.