public class PushbackInputStream extends FilterInputStream
PushbackInputStreamใฏใใปใใฎๅ
ฅๅในใใชใผใ ใซๆฉ่ฝใๅ
ทไฝ็ใซใฏใ1ใใคใใใใใใทใฅใปใใใฏใใพใใฏใใขใณใชใผใใใใๆฉ่ฝใ่ฟฝๅ ใใพใใ ใใใฏใ็นๅฎใฎใใคใๅคใงๅบๅใใใไธๅฎๆฐใฎใใผใฟใปใใคใใใณใผใใปใใฉใฐใกใณใใง่ชญใฟ่พผใใจๅฅฝ้ฝๅใช็ถๆณใงๅฝน็ซใกใพใใ็ต็ซฏใใคใใ่ชญใฟ่พผใใจใใณใผใใปใใฉใฐใกใณใใฏใใใใใขใณใชใผใใใงใใใฎใงใๅ
ฅๅในใใชใผใ ใฎๆฌกใฎ่ชญ่พผใฟๆไฝใงใฏใใใใทใฅใใใฏใใใใใฎใใคใใๅๅบฆ่ชญใฟ่พผใใใจใซใชใใพใใ ใใจใใฐใ่ญๅฅๅญใๆงๆใใฆใใๆๅญใ่กจใไธ้ฃใฎใใคใใฏใๆผ็ฎๅญๆๅญใ่กจใใใคใใง็ตใใใใจใใใใพใใใใฎๅ ดๅใ่ญๅฅๅญใ1ใคใ ใ่ชญใฟ่พผใใธใงใใๆใคใกใฝใใใฏใๆผ็ฎๅญใๆคๅบใใใพใง่ชญ่พผใฟใๅฎ่กใใๅๅบฆ่ชญ่พผใฟใ่กใใใใซๆผ็ฎๅญใใใใทใฅใใใฏใใใใจใใงใใพใใ | ไฟฎ้ฃพๅญใจๅ | ใใฃใผใซใ | ่ชฌๆ |
|---|---|---|
protected byte[] |
buf |
ใใใทใฅใใใฏใปใใใใกใงใใ
|
protected int |
pos |
ใใใทใฅใใใฏใปใใใใกๅ
ใฎๆฌกใฎใใคใใฎ่ชญ่พผใฟไฝ็ฝฎใงใใ
|
in| ใณใณในใใฉใฏใฟ | ่ชฌๆ |
|---|---|
PushbackInputStream(InputStream in) |
PushbackInputStreamใไฝๆใใใใฎๅผๆฐใงใใๅ
ฅๅในใใชใผใ inใใใจใงไฝฟ็จใงใใใใใซไฟๅญใใพใใ |
PushbackInputStream(InputStream in, int size) |
ๆๅฎใใใ
sizeใฎใใใทใฅใใใฏใปใใใใกใๆใคPushbackInputStreamใไฝๆใใใใฎๅผๆฐใงใใๅ
ฅๅในใใชใผใ inใใใจใงไฝฟ็จใงใใใใใซไฟๅญใใพใใ |
| ไฟฎ้ฃพๅญใจๅ | ใกใฝใใ | ่ชฌๆ |
|---|---|---|
int |
available() |
ใใฎๅ
ฅๅในใใชใผใ ใฎใกใฝใใใฎๆฌกใฎๅผๅบใใซใใฃใฆใใใญใใฏใใใซใใฎๅ
ฅๅในใใชใผใ ใใ่ชญใฟ่พผใใใจใใงใใ(ใพใใฏในใญใใใงใใ)ๆจๅฎใใคใๆฐใ่ฟใใพใใ
|
void |
close() |
ใใฎๅ
ฅๅในใใชใผใ ใ้ใใฆใใใฎในใใชใผใ ใซ้ข้ฃใใใในใฆใฎใทในใใ ใปใชใฝใผในใ่งฃๆพใใพใใ
|
void |
mark(int readlimit) |
ใใฎๅ
ฅๅในใใชใผใ ใฎ็พๅจไฝ็ฝฎใซใใผใฏใ่จญๅฎใใพใใ
|
boolean |
markSupported() |
ใใฎๅ
ฅๅในใใชใผใ ใ
markใใใณresetใกใฝใใใใตใใผใใใฆใใใใฉใใใๅคๅฎใใพใใใใใใฎใกใฝใใใฏใตใใผใใใใฆใใพใใใ |
int |
read() |
ใใฎๅ
ฅๅในใใชใผใ ใใใใผใฟใฎๆฌกใฎใใคใใ่ชญใฟ่พผใฟใพใใ
|
int |
read(byte[] b, int off, int len) |
ๆๅคง
lenใใคใใฎใใผใฟใใใใฎๅ
ฅๅในใใชใผใ ใใใใคใ้
ๅใซ่ชญใฟ่พผใฟใพใใ |
void |
reset() |
ใใฎในใใชใผใ ใใใใฎๅ
ฅๅในใใชใผใ ใงๆๅพใซ
markใกใฝใใใๅผใณๅบใใใใจใใฎไฝ็ฝฎใซๅ้
็ฝฎใใพใใ |
long |
skip(long n) |
ใใฎๅ
ฅๅในใใชใผใ ใใ
nใใคใใฎใใผใฟใในใญใใใใฆ็ ดๆฃใใพใใ |
void |
unread(byte[] b) |
ใใใทใฅใใใฏใปใใใใกใฎๅ
้ ญใซใใคใ้
ๅใใณใใผใใใใจใซใใฃใฆใใใคใ้
ๅใใใใทใฅใปใใใฏใใพใใ
|
void |
unread(byte[] b, int off, int len) |
ใใใทใฅใใใฏใปใใใใกใฎๅ
้ ญใซใใคใ้
ๅใฎไธ้จใใณใใผใใใใจใซใใฃใฆใใใใใฎใใคใใใใใทใฅใปใใใฏใใพใใ
|
void |
unread(int b) |
ใใใทใฅใใใฏใปใใใใกใฎๅ
้ ญใซ1ใใคใใใณใใผใใใใจใซใใฃใฆใใใฎใใคใใใใใทใฅใปใใใฏใใพใใ
|
readprotected byte[] buf
protected int pos
posใฏbuf.lengthใซไธ่ดใใใใใใกใใใฃใฑใใฎๅ ดๅใposใฏใผใญใซไธ่ดใใพใใ public PushbackInputStream(InputStream in, int size)
sizeใฎใใใทใฅใใใฏใปใใใใกใๆใคPushbackInputStreamใไฝๆใใใใฎๅผๆฐใงใใๅ
ฅๅในใใชใผใ inใใใจใงไฝฟ็จใงใใใใใซไฟๅญใใพใใ ๅๆ็ถๆ
ใงใฏใใใใทใฅใปใใใฏใใใใใคใใฏใใใพใใ(pushBackใใฃใผใซใใฏ-1ใซๅๆๅใใใฆใใพใ)ใ in - ใใคใใฎ่ชญ่พผใฟๅ
ใฎๅ
ฅๅในใใชใผใ ใsize - ใใใทใฅใใใฏใปใใใใกใฎใตใคใบใIllegalArgumentException - size <= 0ใฎๅ ดๅpublic PushbackInputStream(InputStream in)
PushbackInputStreamใไฝๆใใใใฎๅผๆฐใงใใๅ
ฅๅในใใชใผใ inใใใจใงไฝฟ็จใงใใใใใซไฟๅญใใพใใ ๅๆ็ถๆ
ใงใฏใใใใทใฅใปใใใฏใใใใใคใใฏใใใพใใ(pushBackใใฃใผใซใใฏ-1ใซๅๆๅใใใฆใใพใ)ใ in - ใใคใใฎ่ชญ่พผใฟๅ
ใฎๅ
ฅๅในใใชใผใ ใpublic int read()
throws IOException
0 - 255ใฎ็ฏๅฒใฎintใจใใฆ่ฟใใใพใใ ในใใชใผใ ใฎ็ตใใใซ้ใใใใใซ่ชญใฟ่พผใใใคใใใชใๅ ดๅใฏใ-1ใ่ฟใใใพใใ ๅ
ฅๅใใผใฟใ่ชญใฟ่พผใใใใใซใชใใใในใใชใผใ ใฎ็ตใใใๆคๅบใใใใใใพใใฏไพๅคใ็บ็ใใใพใงใใใฎใกใฝใใใฏใใญใใฏใใใพใใ
ใใฎใกใฝใใใฏใๆๅพใซใใใทใฅใปใใใฏใใใใใคใใใใๅ ดๅใซใฏใใใ่ฟใใพใใใใใใชใๅ ดๅใใใฎใใผในใจใชใๅ
ฅๅในใใชใผใ ใฎreadใกใฝใใใๅผใณๅบใใฆใใฎๆปใๅคใ่ฟใใพใใ
readใใฏใฉในFilterInputStream-1ใIOException - ใใฎๅ
ฅๅในใใชใผใ ใใใฎclose()ใกใฝใใใฎๅผๅบใใซใใฃใฆ้ใใใใๅ ดๅใใพใใฏๅ
ฅๅบๅใจใฉใผใ็บ็ใใๅ ดๅใInputStream.read()public int read(byte[] b,
int off,
int len)
throws IOException
lenใใคใใฎใใผใฟใใใใฎๅ
ฅๅในใใชใผใ ใใใใคใ้
ๅใซ่ชญใฟ่พผใฟใพใใ ใใฎใกใฝใใใฏใใใใทใฅใใใฏใใใใใคใใใใใฐใใใใๆๅใซ่ชญใฟ่พผใฟใพใใๆฌกใซใ่ชญใฟ่พผใพใใใใคใใlenใใคใใใใๅฐใชใๅ ดๅใฏใใใผในใจใชใๅ
ฅๅในใใชใผใ ใใ่ชญใฟ่พผใฟใพใใ lenใ0ใงใชใๅ ดๅใใใฎใกใฝใใใฏๅ
ฅๅใฎๅฐใชใใจใ1ใใคใใๅฉ็จใงใใใใใซใชใใพใงใใญใใฏใใพใใใใไปฅๅคใฎๅ ดๅใใใคใใฏ่ชญใฟ่พผใพใใใ0ใ่ฟใใใพใใ readใใฏใฉในFilterInputStreamb - ใใผใฟใฎ่ชญ่พผใฟๅ
ใฎใใใใกใoff - ่ปข้ๅ
้
ๅbใฎ้ๅงใชใใปใใlen - ่ชญใฟ่พผใพใใๆๅคงใใคใๆฐใ-1ใNullPointerException - bใnullใงใใๅ ดๅใIndexOutOfBoundsException - offใ่ฒ ใฎๅคใฎๅ ดๅใlenใ่ฒ ใฎๅคใฎๅ ดๅใใใใใฏlenใb.length - offใใๅคงใใๅ ดๅIOException - ใใฎๅ
ฅๅในใใชใผใ ใใใฎclose()ใกใฝใใใฎๅผๅบใใซใใฃใฆ้ใใใใๅ ดๅใใพใใฏๅ
ฅๅบๅใจใฉใผใ็บ็ใใๅ ดๅใInputStream.read(byte[], int, int)public void unread(int b)
throws IOException
(byte)bใๆใกใพใใ b - ใใใทใฅใปใใใฏใใใไธไฝใฎใใคใใๆใคintๅคใIOException - ใใคใใซๅฏพใใฆใใใใทใฅใใใฏใปใใใใกใซๅๅใชในใใผในใใชใๅ ดๅใใพใใฏใใฎๅ
ฅๅในใใชใผใ ใclose()ใกใฝใใใฎๅผๅบใใซใใฃใฆ้ใใใใๅ ดๅใpublic void unread(byte[] b,
int off,
int len)
throws IOException
b[off]ใๆใกใใใฎๆฌกใฎใใคใใฏๅคb[off+1]ใๆใกใพใใใใไปฅ้ใๅๆงใซ็ถใใพใใ b - ใใใทใฅใปใใใฏใใใใคใใฎ้
ๅใoff - ใใผใฟใฎ้ๅงใชใใปใใใlen - ใใใทใฅใปใใใฏใใใใคใๆฐใIOException - ๆๅฎใใใใใคใๆฐใซๅฏพใใฆใใใใทใฅใใใฏใปใใใใกใซๅๅใชในใใผในใใชใๅ ดๅใใพใใฏใใฎๅ
ฅๅในใใชใผใ ใใใฎclose()ใกใฝใใใฎๅผๅบใใซใใฃใฆ้ใใใใๅ ดๅใpublic void unread(byte[] b)
throws IOException
b[0]ใๆใกใใใฎๆฌกใฎใใคใใฏๅคb[1]ใๆใกใพใใใใไปฅ้ใๅๆงใซ็ถใใพใใ b - ใใใทใฅใปใใใฏใใใใคใใฎ้
ๅIOException - ๆๅฎใใใใใคใๆฐใซๅฏพใใฆใใใใทใฅใใใฏใปใใใใกใซๅๅใชในใใผในใใชใๅ ดๅใใพใใฏใใฎๅ
ฅๅในใใชใผใ ใใใฎclose()ใกใฝใใใฎๅผๅบใใซใใฃใฆ้ใใใใๅ ดๅใpublic int available()
throws IOException
ใใฎใกใฝใใใฏใใใใทใฅใปใใใฏใใใใใคใๆฐใฎๅ่จใจavailableใซใใฃใฆ่ฟใใใๅคใ่ฟใใพใใ
availableใใฏใฉในFilterInputStreamIOException - ใใฎๅ
ฅๅในใใชใผใ ใใใฎclose()ใกใฝใใใฎๅผๅบใใซใใฃใฆ้ใใใใๅ ดๅใใพใใฏๅ
ฅๅบๅใจใฉใผใ็บ็ใใๅ ดๅใFilterInputStream.in, InputStream.available()public long skip(long n)
throws IOException
nใใคใใฎใใผใฟใในใญใใใใฆ็ ดๆฃใใพใใ ใใพใใพใช็็ฑใใใskipใกใฝใใใฏๆๅฎใใใๅฐใชใใใคใๆฐใใในใญใใใใชใใใจใใใใพใใ0ใฎๅ ดๅใใใใพใใ nใ่ฒ ใฎๅ ดๅใใใคใใฏในใญใใใใใพใใใ
PushbackInputStreamใฎskipใกใฝใใใฏใใใใทใฅใใใฏใปใใใใกใซใใคใใๅญๅจใใใฐใๆๅใซใใใใในใญใใใใพใใ ใใใซในใญใใใใๅฟ
่ฆใใใใใคใใๅญๅจใใใจใใใผในใจใชใๅ
ฅๅในใใชใผใ ใฎskipใกใฝใใใๅผใณๅบใใพใใ ในใญใใใใใๅฎ้ใฎใใคใๆฐใ่ฟใใใพใใ
skipใใฏใฉในFilterInputStreamn - ในใญใใใใใใใคใๆฐใIOException - ในใใชใผใ ใใทใผใฏใใตใใผใใใฆใใชใๅ ดๅใในใใชใผใ ใclose()ใกใฝใใใฎๅผๅบใใซใใฃใฆ้ใใใใๅ ดๅใใพใใฏๅ
ฅๅบๅใจใฉใผใ็บ็ใใๅ ดๅใFilterInputStream.in, InputStream.skip(long n)public boolean markSupported()
markใใใณresetใกใฝใใใใตใใผใใใฆใใใใฉใใใๅคๅฎใใพใใใใใใฎใกใฝใใใฏใตใใผใใใใฆใใพใใใmarkSupportedใใฏใฉในFilterInputStreammarkใกใฝใใใจresetใกใฝใใใใตใใผใใใฆใใชใใฎใงใfalseใInputStream.mark(int), InputStream.reset()public void mark(int readlimit)
PushbackInputStreamใฎmarkใกใฝใใใฏไฝใ่กใใพใใใ
markใใฏใฉในFilterInputStreamreadlimit - ใใผใฏไฝ็ฝฎใ็กๅนใซใชใๅใซ่ชญ่พผใฟๅฏ่ฝใชใใคใๆฐใฎไธ้ใInputStream.reset()public void reset()
throws IOException
markใกใฝใใใๅผใณๅบใใใใจใใฎไฝ็ฝฎใซๅ้
็ฝฎใใพใใ
PushbackInputStreamใฏใฉในใฎresetใกใฝใใใฏIOExceptionใในใญใผใใไปฅๅคไฝใ่กใใพใใใ
resetใใฏใฉในFilterInputStreamIOException - ใใฎใกใฝใใใๅผใณๅบใใใๅ ดๅใInputStream.mark(int)ใIOExceptionpublic void close()
throws IOException
closeใใคใณใฟใใงใผในCloseablecloseใใคใณใฟใใงใผในAutoCloseablecloseใใฏใฉในFilterInputStreamIOException - ๅ
ฅๅบๅใจใฉใผใ็บ็ใใๅ ดๅใFilterInputStream.in ใใฐใพใใฏๆฉ่ฝใ้ไฟก
่ฉณ็ดฐใชAPIใชใใกใฌใณในใใใณ้็บ่
ใใญใฅใกใณใใซใคใใฆใฏใJava SEใฎใใญใฅใกใณใใๅ็
งใใฆใใ ใใใ ใใฎใใญใฅใกใณใใซใฏใๆฆๅฟต็ใชๆฆ่ฆใ็จ่ชใฎๅฎ็พฉใๅ้ฟๆนๆณใๆๅนใชใณใผใไพใชใฉใฎใ้็บ่
ใๅฏพ่ฑกใซใใใใ่ฉณ็ดฐใช่ชฌๆใๅซใพใใฆใใพใใ
Copyright ยฉ 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyใๅ็
งใใฆใใ ใใใ