JavaTM 2 Platform
Standard Ed. 5.0

java.io
Ŭ·¡½º ByteArrayInputStream

java.lang.Object 
  »óÀ§¸¦ È®Àå java.io.InputStream 
      »óÀ§¸¦ È®Àå java.io.ByteArrayInputStream
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Closeable

public class ByteArrayInputStream
extends InputStream

ByteArrayInputStream´Â ½ºÆ®¸²·ÎºÎÅÍ ÀÐÈù ¹ÙÀÌÆ®¸¦ Æ÷ÇÔÇÏ´Â ³»ºÎ ¹öÆÛ¸¦ º¸°ü À¯ÁöÇÏ°í ÀÖ½À´Ï´Ù. ³»ºÎ Ä«¿îÅÍ¿¡ÀÇÇØ read ¸Þ¼­µå·Î ´ÙÀ½¿¡ ÀÐÈ÷´Â ¹ÙÀÌÆ®¸¦ ÃßÀûÇÕ´Ï´Ù.

ByteArrayInputStream¸¦ ´Ý¾Æµµ, ¾Æ¹«°Íµµ º¯È­´Â ¾ø½À´Ï´Ù. ½ºÆ®¸²À» ´ÝÀº µÚ¿¡ ÀÌ Å¬·¡½ºÀÇ ¸Þ¼­µå¸¦ È£ÃâÇصµ, IOException´Â »ý¼ºµÇÁö ¾Ê½À´Ï´Ù.

µµÀÔµÈ ¹öÀü :
JDK1. 0
°ü·Ã Ç׸ñ:
StringBufferInputStream

ÇÊµå °³¿ä
protected  byte[] buf
          ½ºÆ®¸²ÀÇ ÀÛ¼º Ãø¿¡¾ß´Â Á¦°øµÈ ¹ÙÀÌÆ®ÀÇ ¹è¿­ÀÔ´Ï´Ù.
protected  int count
          ÀÔ·Â ½ºÆ®¸²ÁßÀÇ ¸¶Áö¸· À¯È¿ ¹®ÀÚ À§Ä¡º¸´Ù 1°³ Å« °ªÀ» °¡Áö´Â À妽ºÀÔ´Ï´Ù.
protected  int mark
          ½ºÆ®¸² ¾È¿¡¼­ ÇöÀç ¸¶Å©°¡ ¼³Á¤µÇ¾î ÀÖ´Â À§Ä¡¸¦ ³ªÅ¸³À´Ï´Ù.
protected  int pos
          ÀÔ·Â ½ºÆ®¸² ¹öÆ۷κÎÅÍ ´ÙÀ½¿¡ ÀоîµéÀÌ´Â ¹®ÀÚ À§Ä¡¸¦ ³ªÅ¸³»´Â À妽ºÀÔ´Ï´Ù.
 
»ý¼ºÀÚ °³¿ä
ByteArrayInputStream (byte[] buf)
          buf¸¦ ¹öÆÛ ¹è¿­·Î¼­ »ç¿ëÇϵµ·Ï, ByteArrayInputStream¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
ByteArrayInputStream (byte[] buf, int offset, int length)
          buf¸¦ ¹öÆÛ ¹è¿­·Î¼­ »ç¿ëÇϵµ·Ï, ByteArrayInputStream¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 int available ()
          ºí·Ï ÇÏÁö ¾Ê°í ÀÔ·Â ½ºÆ®¸²·ÎºÎÅÍ ÀоîµéÀÏ ¼ö ÀÖ´Â ¹ÙÀÌÆ®¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 void close ()
          ByteArrayInputStream¸¦ ´Ý¾Æµµ, ¾Æ¹«°Íµµ º¯È­´Â ¾ø½À´Ï´Ù.
 void mark (int readAheadLimit)
          ½ºÆ®¸²¿¡ ÇöÀçÀÇ ¸¶Å© À§Ä¡¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 boolean markSupported ()
          ÀÌ InputStream°¡ ¸¶Å©/¸®¼Â¸¦ Áö¿øÇÒÁö ¾î¶³Áö¸¦ Å×½ºÆ®ÇÕ´Ï´Ù.
 int read ()
          ÀÌ ÀÔ·Â ½ºÆ®¸²ÀÇ µ¥ÀÌÅÍÀÇ ´ÙÀ½ÀÇ ¹ÙÀÌÆ®¸¦ ÀоîµéÀÔ´Ï´Ù.
 int read (byte[] b, int off, int len)
          ÀÔ·Â ½ºÆ®¸²·ÎºÎÅÍ ÃÖ´ë len ¹ÙÀÌÆ®ÀÇ µ¥ÀÌÅ͸¦ ¹ÙÀÌÆ® ¹è¿­¿¡ ÀоîµéÀÔ´Ï´Ù.
 void reset ()
          ¸¶Å© À§Ä¡¿¡ ¹öÆÛ¸¦ ¸®¼Â ÇÕ´Ï´Ù.
 long skip (long n)
          ÀÔ·Â ½ºÆ®¸²·ÎºÎÅÍÀÇ ÀÔ·ÂÀ» n ¹ÙÀÌÆ®ºÐ ½ºÅµ ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.io. InputStream ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
read
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

ÇʵåÀÇ »ó¼¼

buf

protected byte[] buf
½ºÆ®¸²ÀÇ ÀÛ¼º Ãø¿¡¾ß´Â Á¦°øµÈ ¹ÙÀÌÆ®ÀÇ ¹è¿­ÀÔ´Ï´Ù. ½ºÆ®¸²·ÎºÎÅÍ ÀоîµéÀÏ ¼ö ÀÖ´Â ¹ÙÀÌÆ®´Â buf[0] ~ buf[count-1] ¹üÀ§³»ÀÇ ¿ä¼Ò »ÓÀÔ´Ï´Ù. ´ÙÀ½¿¡ ÀÐÈ÷´Â ¹ÙÀÌÆ®´Â ¿ä¼Ò buf[pos] ÀÔ´Ï´Ù.


pos

protected int pos
ÀÔ·Â ½ºÆ®¸² ¹öÆ۷κÎÅÍ ´ÙÀ½¿¡ ÀоîµéÀÌ´Â ¹®ÀÚ À§Ä¡¸¦ ³ªÅ¸³»´Â À妽ºÀÔ´Ï´Ù. ÀÌ °ªÀº Ç×»ó, ºÎ ÀÌ¿Ü°¡ ¾Æ´Ï¸é ¾ÈµÇ¾î, count°ªº¸´Ù Ä¿µµ ¾ÈµË´Ï´Ù. ÀÔ·Â ½ºÆ®¸² ¹öÆ۷κÎÅÍ ÀÐÈ÷´Â ´ÙÀ½ÀÇ ¹ÙÀÌÆ®´Â buf[pos]°¡ µË´Ï´Ù.


mark

protected int mark
½ºÆ®¸² ¾È¿¡¼­ ÇöÀç ¸¶Å©°¡ ¼³Á¤µÇ¾î ÀÖ´Â À§Ä¡¸¦ ³ªÅ¸³À´Ï´Ù. ByteArrayInputStream °´Ã¼´Â ±¸Ãà½Ã¿¡ µðÆúÆ®·Î À§Ä¡ Á¦·Î¿¡ ¸¶Å©°¡ ¼³Á¤µË´Ï´Ù. ÀÌ·¯ÇÑ °´Ã¼´Â mark() ¸Þ¼­µå¿¡ ÀÇÇØ ¹öÆÛ³»¿ÜÀÇ À§Ä¡¿¡ ¸¶Å©¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹öÆÛÀÇ ÇöÀç À§Ä¡´Â reset() ¸Þ¼­µå¿¡ ÀÇÇØ ÀÌ Á¤µµÄ¡·Î ¼³Á¤µË´Ï´Ù.

¸¶Å©°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ¸¶Å©ÀÇ °ªÀº »ý¼ºÀÚ¿¡°Ô °Ç³×Áø ¿ÀÇÁ¼Â(offset)°¡ µË´Ï´Ù (¿ÀÇÁ¼Â(offset)°¡ °Ç³×¹ÞÁö ¾Ê´Â °æ¿ì´Â 0).

µµÀÔµÈ ¹öÀü :
JDK1. 1

count

protected int count
ÀÔ·Â ½ºÆ®¸²ÁßÀÇ ¸¶Áö¸· À¯È¿ ¹®ÀÚ À§Ä¡º¸´Ù 1°³ Å« °ªÀ» °¡Áö´Â À妽ºÀÔ´Ï´Ù. ÀÌ °ªÀº Ç×»ó, ºÎ ÀÌ¿Ü°¡ ¾Æ´Ï¸é ¾ÈµÇ¾î, buf ±æÀ̺¸´Ù Ä¿µµ ¾ÈµË´Ï´Ù. ÀÌ°ÍÀº ÀÔ·Â ½ºÆ®¸² ¹öÆ۷κÎÅÍ ÀÐÈ÷´Â buf ³»ÀÇ ¸¶Áö¸· ¹ÙÀÌÆ® À§Ä¡¿¡¼­(º¸´Ù) 1°³ Å« °ªÀÔ´Ï´Ù.

»ý¼ºÀÚ »ó¼¼

ByteArrayInputStream

public ByteArrayInputStream(byte[] buf)
buf¸¦ ¹öÆÛ ¹è¿­·Î¼­ »ç¿ëÇϵµ·Ï, ByteArrayInputStream¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ¹öÆÛ ¹è¿­Àº Ä«ÇǵÇÁö ¾Ê½À´Ï´Ù. pos ÃʱⰪ ´Â 0 À¸·Îcount ÃʱⰪ ´Â buf ±æÀÌÀÔ´Ï´Ù.

ÆĶó¹ÌÅÍ:
buf - ÀÔ·Â ¹öÆÛ

ByteArrayInputStream

public ByteArrayInputStream(byte[] buf,
                            int offset,
                            int length)
buf¸¦ ¹öÆÛ ¹è¿­·Î¼­ »ç¿ëÇϵµ·Ï, ByteArrayInputStream¸¦ ÀÛ¼ºÇÕ´Ï´Ù. pos ÃʱⰪ ´Â offset·Î count ÃʱⰪ ´Â offset+length ³ª buf.length ¾ðÁ¨°¡ ÀÛÀº ºôÆ®ÀδϴÙ. ¹öÆÛ ¹è¿­Àº Ä«ÇǵÇÁö ¾Ê½À´Ï´Ù. ¹öÆÛÀÇ ¸¶Å©´Â ÁöÁ¤ÇÑ ¿ÀÇÁ¼Â(offset)·Î ¼³Á¤µË´Ï´Ù.

ÆĶó¹ÌÅÍ:
buf - ÀÔ·Â ¹öÆÛ
offset - ¹öÆ۷κÎÅÍÀÇ ¹ÙÀÌÆ® read °³½Ã ¿ÀÇÁ¼Â(offset)
length - ¹öÆ۷κÎÅÍ ÀоîµéÀÌ´Â ÃÖ´ë ¹ÙÀÌÆ®¼ö
¸Þ¼­µåÀÇ »ó¼¼

read

public int read()
ÀÌ ÀÔ·Â ½ºÆ®¸²ÀÇ µ¥ÀÌÅÍÀÇ ´ÙÀ½ÀÇ ¹ÙÀÌÆ®¸¦ ÀоîµéÀÔ´Ï´Ù. ¹ÙÀÌÆ®°ª´Â 0 ~ 255 ¹üÀ§ÀÇ int·Î ¼­ ¸®Åϵ˴ϴ٠. ½ºÆ®¸²ÀÇ ¸¶Áö¸·¿¡ À̸£·¶±â ¶§¹®¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹ÙÀÌÆ®°¡ ¾ø´Â °æ¿ì´Â °ª -1 ÀÌ ¸®Åϵ˴ϴ٠.

ÀÌ read ¸Þ¼­µå´Â ºí·Ï ÇÒ ¼ö ¾ø½À´Ï´Ù.

Á¤ÀÇ:
Ŭ·¡½º InputStream ³»ÀÇ read
¹Ýȯ°ª:
µ¥ÀÌÅÍÀÇ ´ÙÀ½ÀÇ ¹ÙÀÌÆ®. ½ºÆ®¸²ÀÇ ¸¶Áö¸·¿¡ À̸£·¶À» °æ¿ì´Â -1

read

public int read(byte[] b,
                int off,
                int len)
ÀÔ·Â ½ºÆ®¸²·ÎºÎÅÍ ÃÖ´ë len ¹ÙÀÌÆ®ÀÇ µ¥ÀÌÅ͸¦ ¹ÙÀÌÆ® ¹è¿­¿¡ ÀоîµéÀÔ´Ï´Ù. pos°¡ count¿Í ÀÏÄ¡ÇÏ´Â °æ¿ì´Â ÆÄÀÏÀÇ ¸¶Áö¸·¿¡ À̸¥ °ÍÀ» ³ªÅ¸³»´Â -1 ÀÌ ¸®Åϵ˴ϴ٠. ±×·¸Áö ¾ÊÀº °æ¿ì´Â ÀÐÈ÷´Â ¹ÙÀÌÆ®¼ö k´Â len¿Í count-pos °¡¿îµ¥ ¾î´À ÂÊÀÎÁö ÀÛÀº Æí¿¡ ÀÏÄ¡ÇÕ´Ï´Ù. k°¡ Á¤ÀÇ °ªÀÇ °æ¿ì, buf[pos] ~ buf[pos+k-1] ¹üÀ§³»ÀÇ ¹ÙÀÌÆ®°¡System.arraycopy¿¡ ÀÇÇØ ½ÇÇàµÇ´Â ¹æ¹ýÀ¸·Î b[off] ~ b[off+k-1]¿¡ º¹»çµË´Ï´Ù. °ª k°¡ pos¿¡ ´õÇØÁ®k°¡ ¸®Åϵ˴ϴ٠.

ÀÌ read ¸Þ¼­µå´Â ºí·Ï ÇÒ ¼ö ¾ø½À´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º InputStream ³»ÀÇ read
ÆĶó¹ÌÅÍ:
b - µ¥ÀÌÅÍÀÇ readóÀÇ ¹öÆÛ
off - µ¥ÀÌÅÍÀÇ °³½Ã ¿ÀÇÁ¼Â(offset)
len - ÀÐÈ÷´Â ÃÖ´ë ¹ÙÀÌÆ®¼ö
¹Ýȯ°ª:
¹öÆÛ¿¡ ÀÐÈù ¹ÙÀÌÆ®ÀÇ ÇÕ°è¼ö. ½ºÆ®¸²ÀÇ ¸¶Áö¸·¿¡ À̸£·¯ µ¥ÀÌÅÍ°¡ ¾ø´Â °æ¿ì´Â -1
°ü·Ã Ç׸ñ:
InputStream.read()

skip

public long skip(long n)
ÀÔ·Â ½ºÆ®¸²·ÎºÎÅÍÀÇ ÀÔ·ÂÀ» n ¹ÙÀÌÆ®ºÐ ½ºÅµ ÇÕ´Ï´Ù. ½ºÆ®¸²ÀÇ ¸¶Áö¸·¿¡ À̸£·¶À» °æ¿ì´Â ÁöÁ¤º¸´Ù ÀûÀº ¼ö¸¸Å­ ½ºÅµ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î ½ºÅµ µÇ´Â ¹ÙÀÌÆ®¼ö k´Â n¿Í count-pos °¡¿îµ¥ ¾î´À ÂÊÀÎÁö ÀÛÀº Æí¿¡ ÀÏÄ¡ÇÕ´Ï´Ù. °ª k°¡ pos¿¡ ´õÇØÁ®k°¡ ¸®Åϵ˴ϴ٠.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º InputStream ³»ÀÇ skip
ÆĶó¹ÌÅÍ:
n - ½ºÅµ ÇÏ´Â ¹ÙÀÌÆ®¼ö
¹Ýȯ°ª:
½ÇÁ¦·Î ½ºÅµ µÈ ¹ÙÀÌÆ®¼ö

available

public int available()
ºí·Ï ÇÏÁö ¾Ê°í ÀÔ·Â ½ºÆ®¸²·ÎºÎÅÍ ÀоîµéÀÏ ¼ö ÀÖ´Â ¹ÙÀÌÆ®¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ °ªÀº count - pos·Î ÀÔ·Â ¹öÆ۷κÎÅÍ ÀоîµéÀÌ´Â ³ª¸ÓÁöÀÇ ¹ÙÀÌÆ®¼ö¸¦ ³ªÅ¸³À´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º InputStream ³»ÀÇ available
¹Ýȯ°ª:
ºí·Ï ÇÏÁö ¾Ê°í ÀÔ·Â ½ºÆ®¸²·ÎºÎÅÍ ÀоîµéÀÏ ¼ö ÀÖ´Â ¹ÙÀÌÆ®¼ö

markSupported

public boolean markSupported()
ÀÌ InputStream°¡ ¸¶Å©/¸®¼Â¸¦ Áö¿øÇÒÁö ¾î¶³Áö¸¦ Å×½ºÆ®ÇÕ´Ï´Ù. ByteArrayInputStream markSupported ¸Þ¼­µå´Â Ç×»ó true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º InputStream ³»ÀÇ markSupported
¹Ýȯ°ª:
ÀÌ ½ºÆ®¸² ÀνºÅϽº°¡ mark ¹× reset ¸Þ¼­µå¸¦ Áö¿øÇÏ°í ÀÖ´Â °æ¿ì´Â true, Áö¿øÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì´Â false
µµÀÔµÈ ¹öÀü :
JDK1. 1
°ü·Ã Ç׸ñ:
InputStream.mark(int), InputStream.reset()

mark

public void mark(int readAheadLimit)
½ºÆ®¸²¿¡ ÇöÀçÀÇ ¸¶Å© À§Ä¡¸¦ ¼³Á¤ÇÕ´Ï´Ù. ByteArrayInputStream °´Ã¼´Â ±¸Ãà½Ã¿¡ µðÆúÆ®·Î À§Ä¡ Á¦·Î¿¡ ¸¶Å© µË´Ï´Ù. ÀÌ·¯ÇÑ °´Ã¼´Â ÀÌ ¸Þ¼­µå¿¡ ÀÇÇØ ¹öÆÛ³»¿ÜÀÇ À§Ä¡¿¡ ¸¶Å©¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸¶Å©°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ¸¶Å©ÀÇ °ªÀº »ý¼ºÀÚ¿¡°Ô °Ç³×Áø ¿ÀÇÁ¼Â(offset)°¡ µË´Ï´Ù (¿ÀÇÁ¼Â(offset)°¡ °Ç³×¹ÞÁö ¾Ê´Â °æ¿ì´Â 0).

ÁÖ: ÀÌ Å¬·¡½ºÀÇ readAheadLimit¿¡ ¹Ì´Â ¾ø½À´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º InputStream ³»ÀÇ mark
ÆĶó¹ÌÅÍ:
readAheadLimit - ¸¶Å© À§°ªÀÌ ¹«È¿°¡ µÇ±â Àü¿¡ Àб⠰¡´ÉÇÑ ¹ÙÀÌÆ®ÀÇ ÃÖ´ë ¸®¹ÔÆ®
µµÀÔµÈ ¹öÀü :
JDK1. 1
°ü·Ã Ç׸ñ:
InputStream.reset()

reset

public void reset()
¸¶Å© À§Ä¡¿¡ ¹öÆÛ¸¦ ¸®¼Â ÇÕ´Ï´Ù. ´Ù¸¥ À§Ä¡¿¡ ¸¶Å©°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì ¶Ç´Â »ý¼ºÀÚ¿¡ ¿ÀÇÁ¼Â(offset)°¡ °¡¸®Å°´Â °æ¿ì¸¦ Á¦¿ÜÇØ, ¸¶Å© À§Ä¡´Â 0 À¸·Î ¼³Á¤µË´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º InputStream ³»ÀÇ reset
°ü·Ã Ç׸ñ:
InputStream.mark(int), IOException

close

public void close()
           throws IOException 
ByteArrayInputStream¸¦ ´Ý¾Æµµ, ¾Æ¹«°Íµµ º¯È­´Â ¾ø½À´Ï´Ù. ½ºÆ®¸²À» ´ÝÀº µÚ¿¡ ÀÌ Å¬·¡½ºÀÇ ¸Þ¼­µå¸¦ È£ÃâÇصµ, IOException´Â »ý¼ºµÇÁö ¾Ê½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Closeable ³»ÀÇ close
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º InputStream ³»ÀÇ close
¿¹¿Ü:
IOException - ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.