ÆÄÀÏ ½Ã½ºÅÛ API »ç¿ë

org.eclipse.core.filesystem Ç÷¯±×ÀÎÀº ÀÓÀÇÀÇ ÆÄÀÏ ½Ã½ºÅÛ°ú »óÈ£ÀÛ¿ëÇϱâ À§ÇÑ ÀÏ¹Ý API¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ API´Â ´ÙÀ½°ú °°Àº ¸î °¡Áö ÁÖ¿ä Â÷ÀÌÁ¡À» Á¦¿ÜÇϰí´Â java.io.File°ú À¯»çÇÕ´Ï´Ù.

ÆÄÀÏ ½Ã½ºÅÛ API¿¡¼­ ƯÁ¤ ÆÄÀÏÀÇ °æ·Î´Â °èÃþ ±¸Á¶ java.net.URI·Î Ç¥½ÃµË´Ï´Ù. URI ü°è´Â ÆÄÀÏ ½Ã½ºÅÛÀÇ À¯ÇüÀ» ³ªÅ¸³»¸ç URI °æ·Î ÄÄÆ÷³ÍÆ®´Â ÆÄÀÏ ½Ã½ºÅÛ Æ®¸® ³» ÆÄÀÏÀÇ À§Ä¡¸¦ ³ªÅ¸³À´Ï´Ù. µû¶ó¼­ ƯÁ¤ °èÃþ ±¸Á¶ URI´Â ÀÓÀÇÀÇ ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ ÀáÀçÀû ÆÄÀÏ ¶Ç´Â µð·ºÅ丮¸¦ ³ªÅ¸³À´Ï´Ù.

ÆÄÀÏ ¹× ÆÄÀÏ ½Ã½ºÅÛ¿¡ ´ëÇÑ ÀÛ¾÷À» ¼öÇàÇÏ´Â API´Â org.eclipse.core.filesystem ÆÐŰÁö¿¡ ÀÖ½À´Ï´Ù. Áß¾Ó API À¯ÇüÀº IFileStoreÀÔ´Ï´Ù. IFileStoreÀÇ °¢ ÀνºÅϽº´Â ÆÄÀÏ ½Ã½ºÅÛÀÇ ´ÜÀÏ ÆÄÀÏÀ» ³ªÅ¸³À´Ï´Ù. IResource¿Í °°ÀÌ, IFileStore ÀνºÅϽº°¡ Á¸ÀçÇÑ´Ù°í ÇØ¼­ ÇØ´ç ÆÄÀÏÀÌ µð½ºÅ©¿¡ ÀÖÀ½À» ÀǹÌÇÏÁö´Â ¾Ê½À´Ï´Ù. IFileStore ÀνºÅϽº¸¦ »ç¿ëÇÏ¸é ÆÄÀÏÀÇ ½ºÆ®¸²À» ÀÛ¼º, »èÁ¦, º¹»ç, À̵¿Çϰųª ¿­ ¼ö ÀÖ½À´Ï´Ù. ƯÁ¤ URI¿¡ ´ëÇØ Á¤Àû ¸Þ¼Òµå EFS.getStore(URI)¸¦ »ç¿ëÇÏ¿© IFileStore ÀνºÅϽº¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

IFileSystem ÀÎÅÍÆäÀ̽º´Â ÆÄÀÏ ½Ã½ºÅÛ¿¡ ´ëÇÑ ¸ðµç Á¤º¸¸¦ ã´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. °¢ IFileSystem ÀνºÅϽº´Â "ÆÄÀÏ:", "ftp:" µî°ú °°Àº ´ÜÀÏ URI ü°è¸¦ ³ªÅ¸³À´Ï´Ù. ÀÌ À¯ÇüÀ» »ç¿ëÇϸé Áö¿øµÇ´Â ÆÄÀÏ ¼Ó¼º ¶Ç´Â ÆÄÀÏ ½Ã½ºÅÛÀÌ ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏ´ÂÁö ¿©ºÎ¿Í °°Àº Áú¹®À» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ À¯ÇüÀ» »ç¿ëÇÏ¸é ¶ÇÇÑ ÇØ´ç URIÀÇ IFileStore¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

IFileStoreÀÇ ´ëºÎºÐÀÇ ¸Þ¼Òµå´Â ±âŸ ¿É¼ÇÀ» Á¦°øÇÒ ¼ö ÀÖ´Â Ç÷¡±× ¸Å°³º¯¼ö¸¦ °®½À´Ï´Ù. Ç÷¡±× °ªÀº EFS Ŭ·¡½º¿¡¼­ ãÀ» ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÆÄÀÏ¿¡ Ãß°¡ÇÒ Ãâ·Â ½ºÆ®¸²À» ¿­·Á¸é ´ÙÀ½À» »ç¿ëÇϽʽÿÀ.

	IFileStore store = ...//some file store
	store.openOutputStream(EFS.APPEND, null);

¸Þ¼Òµå¿¡ ´ëÇÑ ±âº» µ¿ÀÛÀ» ¼öÇàÇÏ·Á¸é EFS.NONEÀ» »ç¿ëÇϽʽÿÀ.

IFileInfo ÀÎÅÍÆäÀ̽º´Â ƯÁ¤ ½ÃÁ¡ÀÇ ÆÄÀÏ »óŸ¦ ³ªÅ¸³À´Ï´Ù. ƯÈ÷ ÆÄÀÏÀÇ Á¸Àç ¿©ºÎ, ÆÄÀÏÀÇ µð·ºÅ丮 ¿©ºÎ, ÇØ´ç ¼Ó¼º µîÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Á¤º¸´Â ¼öÁ¤ÇÏ¿© ´Ù½Ã ÆÄÀÏ¿¡ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½Àº µð·ºÅ丮¿¡ Àбâ Àü¿ë ¼Ó¼ºÀ» ¼³Á¤ÇÏ´Â ½º´ÏÆêÀÔ´Ï´Ù.

	IFileStore store = ...//some file store
   IFileInfo info = store.fetchInfo();
	if (info.exists() && info.isDirectory()) {
		info.setAttribute(EFS.ATTRIBUTE_READ_ONLY, true);
   store.putInfo(info, EFS.SET_ATTRIBUTES, null);
	}

ÀÌ API ½ºÅ¸ÀÏÀ» »ç¿ëÇÏ¸é ÆÄÀÏ ½Ã½ºÅÛ¿¡ ´ëÇÑ ´ÜÀÏ È£Ãâ·Î ÆÄÀÏ Á¤º¸¸¦ ¾ò°í º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼­ Á¤º¸¸¦ ÆäÄ¡ÇÏ´Â ÆÄÀÏ ½Ã½ºÅÛ È£ÃâÀÌ Çϳª»ÓÀ̹ǷΠµð½ºÅ©¸¦ ´Ù½Ã ½ÇÇàÇÏÁö ¾Ê¾Æµµ IFileInfo ¿ÀºêÁ§Æ®¿¡ ´ëÇØ ¿øÇϴ Ƚ¼öÀÇ Á¶ÀÛÀ» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

EFS Ŭ·¡½º¿¡´Â ´Ù¾çÇÑ ¿É¼Ç »ó¼ö ¹× ¿À·ù ÄÚµå»Ó¸¸ ¾Æ´Ï¶ó IFileStore ¹× IFileSystem ÀνºÅϽº¸¦ ¾ò±â À§ÇÑ Á¤Àû ÆÑÅ丮 ¸Þ¼Òµå°¡ Æ÷ÇԵ˴ϴÙ.