È­ÀÏ ¾ÖÆ®¸®ºäÆ® º¯°æ ¹æ¹ý, 100% pure java dilemma


[ Follow Ups ] [ Post Followup ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]

Posted by ±è´öÅ on July 25, 1997 at 04:22:54:

Min-Woo Park wrote:
>
> ÀÚ¹Ù¿¡¼­ È­ÀÏ¿¡ ¼Ó¼ºÀ» ¹Ù²Ü¼ö ÀÖ´Â ¸Þ¼Òµå°¡ ÀÖ³ª¿ä?
> File, Security°ü·Ã Ŭ·¡½º¸¦ ¸ðµÎ µÚÁ³´Âµ¥ ãÀ» ¼ö°¡ ¾ø¾î¿ä.
> Random Access FileÀ» ¸¸µé¶§ ¼Ó¼ºÀ» ÁÙ ¼ö Àִµ¥ À̶§´Â r/w¼Ó¼º¸¸
> °¡´ÉÇÏ°í È­ÀÏÀÌ ÀÛ¼ºµÈ ÈÄ¿¡ ¼Ó¼ºÀ» ¹Ù²Ü·Á°í ÇÏ¸é ¹æ¹ýÀÌ ¾ø½À´Ï´Ù.
> µµ¿ÍÁÖ¼¼¿ä...


ÀÚ¹Ù ¾ð¾î ÀÚü´Â ºñ·Ï Ç÷§Æû µ¶¸³ÀûÀÎ ¾ð¾îÀ̳ª,
¹Ýµå½Ã ¸ðµç Ç÷§Æû¿¡¼­ µ¿ÀÛÇϵµ·Ï ÇÁ·Î±×·¡¹ÖÇؾ߸¸
ÇÏ´Â °ÍÀº ¾Æ´Ï¾î¼­, ƯÁ¤ Ç÷§ÆûÀÇ ±â´ÉÀ» ³×ÀÌƼºê ¸Þ½îµå ȤÀº
³×ÀÌƼºê ÇÁ·Î±×·¥À» È£ÃâÇÏ¿© ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.


ÀÌ´Â S/WÀÇ ÀÀ¿ë ¿µ¿ª°ú ÁÖ »ç¿ë ȯ°æÀ» °í·ÁÇÏ¿©
°áÁ¤µÇ¾î¾ß ÇÒ ¹®Á¦À̸ç, 100% ¼ø¼ö ÀÚ¹Ù´Â ÃÖÁ¾ ¸ñÇ¥ÀÏ »Ó,
ÀÌµé ¹æ¹ýÀº ÀÚ¹Ù¸¸ÀÇ ÇÁ·Î±×·¡¹Ö ÇѰ踦 ±Øº¹Çϱâ À§ÇÑ ÀûÀýÇÑ
¹æ¹ýÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.


¶ÇÇÑ, ƯÁ¤ Ç÷§ÆûÀÇ ±â´ÉÀ» ÀÌ¿ëÇÑ´Ù°í ÇÏ¿©, ±× Ç÷§Æû¿¡¼­¸¸
µ¿ÀÛÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.
´ÙÀ½°ú °°Àº ¹æ½ÄÀ¸·Î ÇÁ·Î±×·¡¹ÖÇϽøé, Ç÷§ÆûÀÇ ±â´ÉÀ»
ÀÌ¿ëÇϸ鼭 À¯´Ð½º¿Í À©µµ¿ìÁî¿¡¼­ ÀÇ¹Ì ÀÖ°Ô µ¿ÀÛÇÒ ¼ö ÀÖ´Â
ÇÁ·Î±×·¥À» ¸¸µå½Ç ¼ö ÀÖ½À´Ï´Ù.


han.comp.lang.java ±×·ì¿¡µµ ±³Â÷ Åõ°íÇÕ´Ï´Ù.
han.comp.lang.java ´º½º ±×·ì¿¡ ¿¬°áÀÌ ¾ÈµÇ½Ã¸é,
ÀûÀýÇÑ ´º½º ½á¹ö¸¦ ÁöÁ¤Çؼ­ »ç¿ëÇϽʽÿÀ.
Âü°í·Î Àú´Â news://news.kreonet.re.kr/han.comp.lang.java ¸¦
»ç¿ëÇÕ´Ï´Ù.


- JDK1.1 ÇÊ¿ä
- JDK1.1.3À¸·Î Å×½ºÆ®ÇÏ¿´À½
------------- ChangeFileAttr.java --------------


// Usage: java ChangeFileAttr {r|w|x} filename
import java.io.*;


class ChangeFileAttr
{ public static void main( String[] args )
throws IOException, InterruptedException
{
Runtime rt = Runtime.getRuntime();
Process nativeCmd;
if ( File.separator.equals("/") ) // À¯´Ð½º·Î ÃßÃø
{ nativeCmd = rt.exec( new String[]
{ "chmod", "u=" + args[0], args[1] } );
nativeCmd.waitFor();
}
else if ( File.separator.equals("\\") ) // À©µµ¿ìÁî·Î ÃßÃø
{ nativeCmd = rt.exec( new String[] {
"attrib",
(args[0].indexOf('w') == -1) ? "+R" : "-R",
args[1] } );
nativeCmd.waitFor();
}
else
throw new RuntimeException( "¿À·ù: Áö¿øµÇÁö ¾Ê´Â Ç÷§ÆûÀÓ" );
}
}


---------- ½ÇÇà °á°ú ------------
(À¯´Ð½º¿¡¼­)
example/thread% ls -l test.dat
-rw-r--r-- 1 dtkim calab 30 Jul 23 05:39 test.dat
example/thread% java ChangeFileAttr rx test.dat
example/thread% ls -l test.dat
-r-xr--r-- 1 dtkim calab 30 Jul 23 05:39 test.dat


(À©µµ¿ìÁî¿¡¼­)
C:\example\thread> attrib test.dat
A TEST.DAT E:\test\test.dat
C:\example\thread> java ChangeFileAttr rx test.dat
C:\example\thread> attrib test.dat
A R TEST.DAT C:\example\thread\test.dat


--
Deogtae Kim (±è´öÅÂ)
CA Lab. CS Dept. KAIST



Follow Ups:



À̾ ±Û¿Ã¸®±â(´äÇϱâ)

À̸§:
E-Mail:
Á¦¸ñ:
³»¿ë:
°ü·Ã URL(¼±ÅÃ):
URL Á¦¸ñ(¼±ÅÃ):
°ü·Ã À̹ÌÁö URL:


[ Follow Ups ] [ Post Followup ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]