ByteArrayInputStream & ByteArrayOutputStream´Â ¹ÙÀÌÆ®·Î ±¸¼ºµÈ ¹è¿À» ÀÐ¾î µéÀÎÈÄ, ´Ù½Ã ±× ¹è¿À» Ãâ·ÂÇÏ´Â µ¥ »ç¿ëµÇ´Â Ŭ·¡½º ÀÔ´Ï´Ù. ¹ÙÀÌÆ® ¹è¿¸¸ ÀÐÀ» ¼ö Àֱ⠶§¹®¿¡ »ç¿ëÇϱ⠾î·Á¿î ÆíÀº ¾Æ´Ñ Ŭ·¡½º ÀÔ´Ï´Ù. ¿¹Á¦¸¦ ¸ÕÀú »ìÆìº¸°Ú½À´Ï´Ù.
ArrayStreamTest.java (ByteArrayInputStream,ByteArrayOutputStreamÀ» Å×½ºÆ®ÇÑ ¿¹Á¦) |
import java.io.*; class ByteArrayStreamTest { public static void main(String[] args) throws IOException { int i; byte[] arr = {(byte)'j',(byte)'a',(byte)'b',(byte)'o',(byte)'o',(byte)'k'} ; ByteArrayInputStream in = new ByteArrayInputStream(arr); ByteArrayOutputStream out = new ByteArrayOutputStream(); while((i = in.read()) != -1) { out.write(i); } System.out.println(out.toString()); in.close(); out.close(); } } |
C:\JavaExample\09>javac ByteArrayStreamTest.java C:\JavaExample\09>java ByteArrayStreamTest jabook |
À§ÀÇ ¿¹Á¦´Â ¹ÙÀÌÆ® ¹è¿À» ÀÐ¾î µé¿©¼ ±× °ªÀ» intÇüÀÇ Á¤¼ö·Î º¯È¯ÇÑ ÈÄ ±× °ªÀ» ´Ù½Ã ¹®ÀÚ·Î º¯È¯ÇÏ¿© Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
¿¹Á¦¿¡¼ ¸ÕÀú ¹ÙÀÌÆ® ¹è¿À» »ý¼ºÇÏ¿´½À´Ï´Ù.
n byte arr[] = { (byte)'j',(byte)'a',(byte)'b',(byte)'o',(byte)'o',(byte)'k' } ;
Ãâ·ÂÇÏ·Á´Â ±ÛÀ» ÀüºÎ ij½ºÆÃÇÏ¿© ¹ÙÀÌÆ® ÇüÀ¸·Î ¹Ù²Ù¾î ÁØ ÈÄ, ¹è¿ arr¿¡ °ªÀ» Áý¾î ³Ö¾î ¹è¿À» »ý¼ºÇÏ¿´½À´Ï´Ù. ±× ÈÄ¿¡ ¹ÙÀÌÆ® ¹è¿À» ByteArrayInputStreamŬ·¡½º¸¦ »ç¿ëÇÏ¿© ÀÐ¾î µéÀ̰í, ByteArrayInputStreamŬ·¡½ºÀÇ °´Ã¼ in¸¦ »ý¼ºÇÕ´Ï´Ù.
n ByteArrayInputStream in = new ByteArrayInputStream(arr);
»ý¼ºµÈ °´Ã¼¸¦ »ç¿ëÇÏ¿© read()¸Þ¼µå·Î °ªÀ» ÀԷ¹޽À´Ï´Ù.
n while((i=in.read()) != -1) { }
À§ÀÇ ±¸¹®¿¡¼ read() ¸Þ¼µå´Â ¹ÙÀÌÆ®¸¦ ÀÐ¾î¼ ±× ¹ÙÀÌÆ®ÀÇ °ªÀ» 0ºÎÅÍ 255»çÀÌÀÇ intÇüÁ¤¼ö·Î ¹ÝȯÇÏ´Â ¸Þ¼µåÀÔ´Ï´Ù. ¸¸¾à ¹ÙÀÌÆ® ¹è¿ÀÇ ³¡À» ¸¸³ª°Ô µÇ¸é -1ÀÇ °ªÀ» ¹ÝȯÇÕ´Ï´Ù. ÇÁ·Î±×·¥À¸·Î µ¹¾Æ°¡¼ ¼³¸íÇÏ¸é ¹ÙÀÌÆ® ¹è¿À» ÀÐ¾î¼ ±× °ªÀÌ ÀÖÀ¸¸é while¹®À» ½ÇÇàÇϰí, ¹è¿ÀÇ ³¡À» ¸¸³ª¸é while¹®À» Á¾·áÇ϶ó´Â ¶æ ÀÔ´Ï´Ù.
±×¸®°í ByteArrayOutputStreamÀÇ °´Ã¼ outÀ» »ý¼ºÇÕ´Ï´Ù.
n ByteArrayOutputStream out = new ByteArrayOutputStream();
»ý¼ºµÈ °´Ã¼ outÀ» »ç¿ëÇÏ¿© write(int b) ¸Þ¼µå¸¦ È£ÃâÇÏ¿© while¹® ¾È¿¡¼ »ç¿ëÇÏ°Ô µË´Ï´Ù.
n out.write(i);
write(int b) ¸Þ¼µå´Â ÁöÁ¤µÈ ¹ÙÀÌÆ®¸¦ ¹ÙÀÌÆ® ¹è¿ Ãâ·Â ½ºÆ®¸²¿¡ ±â·ÏÇÏ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. ±×¸®°í toString() ¸Þ¼µå¸¦ »ç¿ëÇÏ¿© ¹öÆÛÀÇ ³»¿ëÀ» ¹®ÀÚ¿·Î º¯È¯Çϰí, Ç÷§ÆûÀÇ ±âº» ¹®ÀÚ ÀÎÄÚµù¿¡ µû¶ó ¹ÙÀÌÆ®¸¦ ¹®ÀÚ·Î º¯È¯ÇÏ¿© Ãâ·ÂÇÏ¿´½À´Ï´Ù.
n System.out.println(out.toString());
ByteArrayInputStream & ByteArrayOutputStreamŬ·¡½º´Â ¹ÙÀÌÆ® ¹è¿À» ÀÐ¾î µé¿©¼ ±× °ªÀ» intÇüÀÇ Á¤¼ö·Î º¯È¯ÇÑ ÈÄ ±× °ªÀ» ´Ù½Ã ¹®ÀÚ·Î º¯È¯ÇÏ¿© Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
¹ÙÀÌÆ® ¹è¿À» »ç¿ëÇÒ °æ¿ì »ç¿ëÇÑ ´Ù´Â »ç½ÇÀ» ±â¾ïÇÏ½Ã¸é µË´Ï´Ù.
ByteArrayInputStream »ý¼ºÀÚ¸Þ¼µå |
public ByteArrayInputStream(byte[] buf) : ÁöÁ¤µÈ ¹ÙÀÌÆ® ¹è¿¿¡¼ µ¥ÀÌÅ͸¦ Àд »õ·Î¿î ¹ÙÀÌÆ® ¹è¿ ÀÔ·Â ½ºÆ®¸²À» ÀÛ¼ºÇÕ´Ï´Ù. public ByteArrayInputStream(byte[] buf, int offset, int length) : ÁöÁ¤µÈ ¹ÙÀÌÆ® ¹è¿¿¡¼ µ¥ÀÌÅ͸¦ Àд »õ·Î¿î ¹ÙÀÌÆ® ¹è¿ ÀÔ·Â ½ºÆ®¸²À» ÀÛ¼ºÇÕ´Ï´Ù. |
ByteArrayInputStream ÁÖ¿ä ¸Þ¼µå |
public int available() : ½ÇÇàÀ» Áß´ÜÇÏÁö ¾Ê°í ÀÔ·Â ½ºÆ®¸²¿¡¼ ÀÐÀ» ¼ö ÀÖ´Â ¹ÙÀÌÆ®ÀÇ ¼ö¸¦ ¹ÝȯÇÕ´Ï´Ù. public void mark(int readAHeadLimit) : ½ºÆ®¸²ÀÇ ÇöÀç Ç¥½ÃµÈ À§Ä¡¸¦ ¼³Á¤ÇÕ´Ï´Ù. public boolean markSupported() : ByteArrayInputStreamÀÌ Ç¥½Ã/Àç¼³Á¤À» Áö¿øÇÏ´ÂÁö ¿©ºÎ¸¦ Å×½ºÆ®ÇÕ´Ï´Ù. public int read() : ÀÔ·Â ½ºÆ®¸²¿¡¼ ´ÙÀ½ µ¥ÀÌÅÍ ¹ÙÀÌÆ®¸¦ ÀнÀ´Ï´Ù. public int read(byte[] b, int off, int len) : ÀÔ·Â ½ºÆ®¸²¿¡¼ ÃÖ´ë len ¹ÙÀÌÆ®ÀÇ µ¥ÀÌÅ͸¦ ¹è¿·Î ÀнÀ´Ï´Ù. public void reset() : ¹öÆÛ¸¦ Ç¥½ÃµÈ À§Ä¡·Î Àç¼³Á¤ÇÕ´Ï´Ù. public void skip(long) : ÀÔ·Â ½ºÆ®¸²¿¡¼ n ¹ÙÀÌÆ®ÀÇ ÀÔ·ÂÀ» °Ç³Ê¶Ý´Ï´Ù. |
ByteArrayOutputStream »ý¼ºÀÚ¸Þ¼µå |
public ByteArrayOutputStream() : »õ·Î¿î ¹ÙÀÌÆ® ¹è¿ Ãâ·Â ½ºÆ®¸²À» ÀÛ¼ºÇÕ´Ï´Ù. public ByteArrayOutputStream(int size) : ÁöÁ¤µÈ Å©±âÀÇ ¹öÆÛ ¿ë·®(¹ÙÀÌÆ® ´ÜÀ§)À¸·Î »õ·Î¿î ¹è¿ Ãâ·Â ½ºÆ®¸²À» ÀÛ¼ºÇÕ´Ï´Ù. |
ByteArrayOutputStream ÁÖ¿ä ¸Þ¼µå |
public void reset() : Ãâ·Â ½ºÆ®¸² ³»ÀÇ ÇöÀç ´©ÀûµÈ ¸ðµç Ãâ·ÂÀÌ ¹ö·ÁÁöµµ·Ï ¹ÙÀÌÆ® ¹è¿ Ãâ·Â ½ºÆ®¸²ÀÇ count Çʵ带 0À¸·Î Àç¼³Á¤ÇÕ´Ï´Ù. public int size() : ¹öÆÛÀÇ ÇöÀç Å©±â¸¦ ¹ÝȯÇÕ´Ï´Ù. public byte [] toByteArray() : »õ·Î ÇÒ´çµÈ ¹ÙÀÌÆ® ¹è¿À» ÀÛ¼ºÇÕ´Ï´Ù. public String toString() : ¹öÆÛÀÇ ³»¿ëÀ» ¹®ÀÚ¿·Î º¯È¯Çϰí, Ç÷§ÆûÀÇ ±âº» ¹®ÀÚ ÀÎÄÚµù¿¡ µû¶ó ¹ÙÀÌÆ®¸¦ ¹®ÀÚ·Î º¯È¯ÇÕ´Ï´Ù. public String toString(int hibyte) : »õ·Î ÇÒ´çµÈ ¹®ÀÚ¿À» ÀÛ¼ºÇÕ´Ï´Ù. Deprecated public String toString(String enc) : ¹öÆÛÀÇ ³»¿ëÀ» ¹®ÀÚ¿·Î º¯È¯Çϰí, ÁöÁ¤µÈ ¹®ÀÚ ÀÎÄÚµù¿¡ µû¶ó ¹ÙÀÌÆ®¸¦ ¹®ÀÚ·Î º¯È¯ÇÕ´Ï´Ù. public void write(byte[] b, int off, int len) : len°³ÀÇ ¹ÙÀÌÆ®¸¦ ¿ÀÇÁ¼Â off¿¡¼ ½ÃÀÛÇÏ¿© ÁöÁ¤µÈ ¹ÙÀÌÆ® ¹è¿¿¡¼ ¹ÙÀÌÆ® ¹è¿ Ãâ·Â ½ºÆ®¸²¿¡ ±â·ÏÇÕ´Ï´Ù. public void write(int b) : ÁöÁ¤µÈ ¹ÙÀÌÆ®¸¦ ¹ÙÀÌÆ® ¹è¿ Ãâ·Â ½ºÆ®¸²¿¡ ±â·ÏÇÕ´Ï´Ù. public void writeTo(OutputStream out) : out.write(buf, 0, count)¸¦ »ç¿ëÇÏ¿© Ãâ·Â ½ºÆ®¸²ÀÇ write ¸Þ¼µå¸¦ È£ÃâÇÏ´Â °Íó·³ ¹ÙÀÌÆ® ¹è¿ Ãâ·Â ½ºÆ®¸²ÀÇ ³»¿ë Àüü¸¦ ÁöÁ¤µÈ Ãâ·Â ½ºÆ®¸² Àμö¿¡ ±â·ÏÇÕ´Ï´Ù. |
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ ÀúÀÚ:ÃÖ¿µ°ü |