Java 类java.io.FilterInputStream 实例源码
项目:guava-mock
文件:MultiInputStreamTest.java
public void testOnlyOneOpen() throws Exception {
final ByteSource source = newByteSource(0, 50);
final int[] counter = new int[1];
ByteSource checker = new ByteSource() {
@Override
public InputStream openStream() throws IOException {
if (counter[0]++ != 0) {
throw new IllegalStateException("More than one source open");
}
return new FilterInputStream(source.openStream()) {
@Override public void close() throws IOException {
super.close();
counter[0]--;
}
};
}
};
byte[] result = ByteSource.concat(checker, checker, checker).read();
assertEquals(150, result.length);
}
项目:OpenJSharp
文件:BandStructure.java
public void setInputStreamFrom(InputStream in) throws IOException {
assert(bytes == null);
assert(assertReadyToReadFrom(this, in));
setPhase(READ_PHASE);
this.in = in;
if (optDumpBands) {
// Tap the stream.
bytesForDump = new ByteArrayOutputStream();
this.in = new FilterInputStream(in) {
@Override
public int read() throws IOException {
int ch = in.read();
if (ch >= 0) bytesForDump.write(ch);
return ch;
}
@Override
public int read(byte b[], int off, int len) throws IOException {
int nr = in.read(b, off, len);
if (nr >= 0) bytesForDump.write(b, off, nr);
return nr;
}
};
}
super.readyToDisburse();
}
项目:OpenJSharp
文件:ClassReader.java
ClassReader(Class cls, InputStream in) throws IOException {
this.pkg = cls.getPackage();
this.cls = cls;
this.verbose = pkg.verbose;
this.in = new DataInputStream(new FilterInputStream(in) {
public int read(byte b[], int off, int len) throws IOException {
int nr = super.read(b, off, len);
if (nr >= 0) inPos += nr;
return nr;
}
public int read() throws IOException {
int ch = super.read();
if (ch >= 0) inPos += 1;
return ch;
}
public long skip(long n) throws IOException {
long ns = super.skip(n);
if (ns >= 0) inPos += ns;
return ns;
}
});
}
项目:OpenJSharp
文件:PackageReader.java
LimitedBuffer(InputStream originalIn) {
super(null, 1<<14);
servedPos = pos;
super.in = new FilterInputStream(originalIn) {
public int read() throws IOException {
if (buffered == limit)
return -1;
++buffered;
return super.read();
}
public int read(byte b[], int off, int len) throws IOException {
if (buffered == limit)
return -1;
if (limit != -1) {
long remaining = limit - buffered;
if (len > remaining)
len = (int)remaining;
}
int nr = super.read(b, off, len);
if (nr >= 0) buffered += nr;
return nr;
}
};
}
项目:OpenJSharp
文件:PackageReader.java
LimitedBuffer(InputStream originalIn) {
super(null, 1<<14);
servedPos = pos;
super.in = new FilterInputStream(originalIn) {
public int read() throws IOException {
if (buffered == limit)
return -1;
++buffered;
return super.read();
}
public int read(byte b[], int off, int len) throws IOException {
if (buffered == limit)
return -1;
if (limit != -1) {
long remaining = limit - buffered;
if (len > remaining)
len = (int)remaining;
}
int nr = super.read(b, off, len);
if (nr >= 0) buffered += nr;
return nr;
}
};
}
项目:jdk8u-jdk
文件:BandStructure.java
public void setInputStreamFrom(InputStream in) throws IOException {
assert(bytes == null);
assert(assertReadyToReadFrom(this, in));
setPhase(READ_PHASE);
this.in = in;
if (optDumpBands) {
// Tap the stream.
bytesForDump = new ByteArrayOutputStream();
this.in = new FilterInputStream(in) {
@Override
public int read() throws IOException {
int ch = in.read();
if (ch >= 0) bytesForDump.write(ch);
return ch;
}
@Override
public int read(byte b[], int off, int len) throws IOException {
int nr = in.read(b, off, len);
if (nr >= 0) bytesForDump.write(b, off, nr);
return nr;
}
};
}
super.readyToDisburse();
}
项目:jdk8u-jdk
文件:ClassReader.java
ClassReader(Class cls, InputStream in) throws IOException {
this.pkg = cls.getPackage();
this.cls = cls;
this.verbose = pkg.verbose;
this.in = new DataInputStream(new FilterInputStream(in) {
public int read(byte b[], int off, int len) throws IOException {
int nr = super.read(b, off, len);
if (nr >= 0) inPos += nr;
return nr;
}
public int read() throws IOException {
int ch = super.read();
if (ch >= 0) inPos += 1;
return ch;
}
public long skip(long n) throws IOException {
long ns = super.skip(n);
if (ns >= 0) inPos += ns;
return ns;
}
});
}
项目:jdk8u-jdk
文件:PackageReader.java
LimitedBuffer(InputStream originalIn) {
super(null, 1<<14);
servedPos = pos;
super.in = new FilterInputStream(originalIn) {
public int read() throws IOException {
if (buffered == limit)
return -1;
++buffered;
return super.read();
}
public int read(byte b[], int off, int len) throws IOException {
if (buffered == limit)
return -1;
if (limit != -1) {
long remaining = limit - buffered;
if (len > remaining)
len = (int)remaining;
}
int nr = super.read(b, off, len);
if (nr >= 0) buffered += nr;
return nr;
}
};
}
项目:openjdk-jdk10
文件:BandStructure.java
public void setInputStreamFrom(InputStream in) throws IOException {
assert(bytes == null);
assert(assertReadyToReadFrom(this, in));
setPhase(READ_PHASE);
this.in = in;
if (optDumpBands) {
// Tap the stream.
bytesForDump = new ByteArrayOutputStream();
this.in = new FilterInputStream(in) {
@Override
public int read() throws IOException {
int ch = in.read();
if (ch >= 0) bytesForDump.write(ch);
return ch;
}
@Override
public int read(byte b[], int off, int len) throws IOException {
int nr = in.read(b, off, len);
if (nr >= 0) bytesForDump.write(b, off, nr);
return nr;
}
};
}
super.readyToDisburse();
}
项目:openjdk-jdk10
文件:ClassReader.java
ClassReader(Class cls, InputStream in) throws IOException {
this.pkg = cls.getPackage();
this.cls = cls;
this.verbose = pkg.verbose;
this.in = new DataInputStream(new FilterInputStream(in) {
public int read(byte b[], int off, int len) throws IOException {
int nr = super.read(b, off, len);
if (nr >= 0) inPos += nr;
return nr;
}
public int read() throws IOException {
int ch = super.read();
if (ch >= 0) inPos += 1;
return ch;
}
public long skip(long n) throws IOException {
long ns = super.skip(n);
if (ns >= 0) inPos += ns;
return ns;
}
});
}
项目:openjdk-jdk10
文件:PackageReader.java
LimitedBuffer(InputStream originalIn) {
super(null, 1<<14);
servedPos = pos;
super.in = new FilterInputStream(originalIn) {
public int read() throws IOException {
if (buffered == limit)
return -1;
++buffered;
return super.read();
}
public int read(byte b[], int off, int len) throws IOException {
if (buffered == limit)
return -1;
if (limit != -1) {
long remaining = limit - buffered;
if (len > remaining)
len = (int)remaining;
}
int nr = super.read(b, off, len);
if (nr >= 0) buffered += nr;
return nr;
}
};
}
项目:googles-monorepo-demo
文件:MultiInputStreamTest.java
public void testOnlyOneOpen() throws Exception {
final ByteSource source = newByteSource(0, 50);
final int[] counter = new int[1];
ByteSource checker = new ByteSource() {
@Override
public InputStream openStream() throws IOException {
if (counter[0]++ != 0) {
throw new IllegalStateException("More than one source open");
}
return new FilterInputStream(source.openStream()) {
@Override public void close() throws IOException {
super.close();
counter[0]--;
}
};
}
};
byte[] result = ByteSource.concat(checker, checker, checker).read();
assertEquals(150, result.length);
}
项目:sctalk
文件:GifLoadTask.java
private FilterInputStream getFromCache(String url) throws Exception {
DiskLruCache cache = DiskLruCache.open(CommonUtil.getImageSavePath(), 1, 2, 2*1024*1024);
cache.flush();
String key = Util.hash(url);
final DiskLruCache.Snapshot snapshot;
try {
snapshot = cache.get(key);
if (snapshot == null) {
return null;
}
} catch (IOException e) {
return null;
}
FilterInputStream bodyIn = new FilterInputStream(snapshot.getInputStream(1)) {
@Override
public void close() throws IOException {
snapshot.close();
super.close();
}
};
return bodyIn;
}
项目:openjdk9
文件:BandStructure.java
public void setInputStreamFrom(InputStream in) throws IOException {
assert(bytes == null);
assert(assertReadyToReadFrom(this, in));
setPhase(READ_PHASE);
this.in = in;
if (optDumpBands) {
// Tap the stream.
bytesForDump = new ByteArrayOutputStream();
this.in = new FilterInputStream(in) {
@Override
public int read() throws IOException {
int ch = in.read();
if (ch >= 0) bytesForDump.write(ch);
return ch;
}
@Override
public int read(byte b[], int off, int len) throws IOException {
int nr = in.read(b, off, len);
if (nr >= 0) bytesForDump.write(b, off, nr);
return nr;
}
};
}
super.readyToDisburse();
}
项目:openjdk9
文件:ClassReader.java
ClassReader(Class cls, InputStream in) throws IOException {
this.pkg = cls.getPackage();
this.cls = cls;
this.verbose = pkg.verbose;
this.in = new DataInputStream(new FilterInputStream(in) {
public int read(byte b[], int off, int len) throws IOException {
int nr = super.read(b, off, len);
if (nr >= 0) inPos += nr;
return nr;
}
public int read() throws IOException {
int ch = super.read();
if (ch >= 0) inPos += 1;
return ch;
}
public long skip(long n) throws IOException {
long ns = super.skip(n);
if (ns >= 0) inPos += ns;
return ns;
}
});
}
项目:openjdk9
文件:PackageReader.java
LimitedBuffer(InputStream originalIn) {
super(null, 1<<14);
servedPos = pos;
super.in = new FilterInputStream(originalIn) {
public int read() throws IOException {
if (buffered == limit)
return -1;
++buffered;
return super.read();
}
public int read(byte b[], int off, int len) throws IOException {
if (buffered == limit)
return -1;
if (limit != -1) {
long remaining = limit - buffered;
if (len > remaining)
len = (int)remaining;
}
int nr = super.read(b, off, len);
if (nr >= 0) buffered += nr;
return nr;
}
};
}
项目:dw-jdbc
文件:FileBackedInputStreamTest.java
@Test
public void testDownloadException() throws Exception {
byte[] content = genSampleBytes(8000);
// Simulate the socket being closed before all expected bytes were downloaded.
InputStream contentIn = new FilterInputStream(new ByteArrayInputStream(content)) {
@Override
public int read(@Nonnull byte[] b, int off, int len) throws IOException {
int count = super.read(b, off, len);
if (count == -1) {
throw new EOFException("Unexpected end of input");
}
return count;
}
};
try (InputStream in = new FileBackedInputStream(contentIn, 0, newCachedExecutor())) {
//noinspection ResultOfMethodCallIgnored
assertThatThrownBy(() -> in.skip(10000))
.isExactlyInstanceOf(IOException.class)
.hasMessage("Unexpected end of input")
.hasCauseExactlyInstanceOf(EOFException.class);
}
}
项目:goib
文件:EClientSocket.java
private synchronized void eDisconnect( boolean resetState ) {
// not connected?
if( m_dis == null & m_socketTransport == null) {
return;
}
if ( resetState ) {
m_connected = false;
m_extraAuth = false;
m_clientId = -1;
m_serverVersion = 0;
m_TwsTime = "";
m_redirectCount = 0;
}
FilterInputStream dis = m_dis;
m_dis = null;
m_socketTransport = null;
try {
if (dis != null)
dis.close();
}
catch( Exception e) {
}
}
项目:FoDBugTrackerUtility
文件:ApacheConnector.java
private static InputStream getInputStream(final CloseableHttpResponse response) throws IOException {
final InputStream inputStream;
if (response.getEntity() == null) {
inputStream = new ByteArrayInputStream(new byte[0]);
} else {
final InputStream i = response.getEntity().getContent();
if (i.markSupported()) {
inputStream = i;
} else {
inputStream = new BufferedInputStream(i, ReaderWriter.BUFFER_SIZE);
}
}
return new FilterInputStream(inputStream) {
@Override
public void close() throws IOException {
response.close();
super.close();
}
};
}
项目:jdk8u_jdk
文件:BandStructure.java
public void setInputStreamFrom(InputStream in) throws IOException {
assert(bytes == null);
assert(assertReadyToReadFrom(this, in));
setPhase(READ_PHASE);
this.in = in;
if (optDumpBands) {
// Tap the stream.
bytesForDump = new ByteArrayOutputStream();
this.in = new FilterInputStream(in) {
@Override
public int read() throws IOException {
int ch = in.read();
if (ch >= 0) bytesForDump.write(ch);
return ch;
}
@Override
public int read(byte b[], int off, int len) throws IOException {
int nr = in.read(b, off, len);
if (nr >= 0) bytesForDump.write(b, off, nr);
return nr;
}
};
}
super.readyToDisburse();
}
项目:jdk8u_jdk
文件:ClassReader.java
ClassReader(Class cls, InputStream in) throws IOException {
this.pkg = cls.getPackage();
this.cls = cls;
this.verbose = pkg.verbose;
this.in = new DataInputStream(new FilterInputStream(in) {
public int read(byte b[], int off, int len) throws IOException {
int nr = super.read(b, off, len);
if (nr >= 0) inPos += nr;
return nr;
}
public int read() throws IOException {
int ch = super.read();
if (ch >= 0) inPos += 1;
return ch;
}
public long skip(long n) throws IOException {
long ns = super.skip(n);
if (ns >= 0) inPos += ns;
return ns;
}
});
}
项目:jdk8u_jdk
文件:PackageReader.java
LimitedBuffer(InputStream originalIn) {
super(null, 1<<14);
servedPos = pos;
super.in = new FilterInputStream(originalIn) {
public int read() throws IOException {
if (buffered == limit)
return -1;
++buffered;
return super.read();
}
public int read(byte b[], int off, int len) throws IOException {
if (buffered == limit)
return -1;
if (limit != -1) {
long remaining = limit - buffered;
if (len > remaining)
len = (int)remaining;
}
int nr = super.read(b, off, len);
if (nr >= 0) buffered += nr;
return nr;
}
};
}
项目:lookaside_java-1.8.0-openjdk
文件:BandStructure.java
public void setInputStreamFrom(InputStream in) throws IOException {
assert(bytes == null);
assert(assertReadyToReadFrom(this, in));
setPhase(READ_PHASE);
this.in = in;
if (optDumpBands) {
// Tap the stream.
bytesForDump = new ByteArrayOutputStream();
this.in = new FilterInputStream(in) {
@Override
public int read() throws IOException {
int ch = in.read();
if (ch >= 0) bytesForDump.write(ch);
return ch;
}
@Override
public int read(byte b[], int off, int len) throws IOException {
int nr = in.read(b, off, len);
if (nr >= 0) bytesForDump.write(b, off, nr);
return nr;
}
};
}
super.readyToDisburse();
}
项目:lookaside_java-1.8.0-openjdk
文件:ClassReader.java
ClassReader(Class cls, InputStream in) throws IOException {
this.pkg = cls.getPackage();
this.cls = cls;
this.verbose = pkg.verbose;
this.in = new DataInputStream(new FilterInputStream(in) {
public int read(byte b[], int off, int len) throws IOException {
int nr = super.read(b, off, len);
if (nr >= 0) inPos += nr;
return nr;
}
public int read() throws IOException {
int ch = super.read();
if (ch >= 0) inPos += 1;
return ch;
}
public long skip(long n) throws IOException {
long ns = super.skip(n);
if (ns >= 0) inPos += ns;
return ns;
}
});
}
项目:lookaside_java-1.8.0-openjdk
文件:PackageReader.java
LimitedBuffer(InputStream originalIn) {
super(null, 1<<14);
servedPos = pos;
super.in = new FilterInputStream(originalIn) {
public int read() throws IOException {
if (buffered == limit)
return -1;
++buffered;
return super.read();
}
public int read(byte b[], int off, int len) throws IOException {
if (buffered == limit)
return -1;
if (limit != -1) {
long remaining = limit - buffered;
if (len > remaining)
len = (int)remaining;
}
int nr = super.read(b, off, len);
if (nr >= 0) buffered += nr;
return nr;
}
};
}
项目:fcrepo-api-x
文件:HttpRegistry.java
InputStream getStream() {
try {
if (!isClosed && response.getEntity().isRepeatable()) {
return response.getEntity().getContent();
} else {
getResponse();
return new FilterInputStream(response.getEntity().getContent()) {
@Override
public void close() throws IOException {
isClosed = true;
super.close();
}
};
}
} catch (final Exception e) {
throw new RuntimeException(e);
}
}
项目:intellij-ce-playground
文件:URLUtil.java
@NotNull
private static InputStream openJarStream(@NotNull URL url) throws IOException {
Pair<String, String> paths = splitJarUrl(url.getFile());
if (paths == null) {
throw new MalformedURLException(url.getFile());
}
@SuppressWarnings("IOResourceOpenedButNotSafelyClosed") final ZipFile zipFile = new ZipFile(FileUtil.unquote(paths.first));
ZipEntry zipEntry = zipFile.getEntry(paths.second);
if (zipEntry == null) {
zipFile.close();
throw new FileNotFoundException("Entry " + paths.second + " not found in " + paths.first);
}
return new FilterInputStream(zipFile.getInputStream(zipEntry)) {
@Override
public void close() throws IOException {
super.close();
zipFile.close();
}
};
}
项目:cassandra-kmean
文件:GoogleCloudSnitch.java
String gceApiCall(String url) throws IOException, ConfigurationException
{
// Populate the region and zone by introspection, fail if 404 on metadata
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
DataInputStream d = null;
try
{
conn.setRequestMethod("GET");
conn.setRequestProperty("Metadata-Flavor", "Google");
if (conn.getResponseCode() != 200)
throw new ConfigurationException("GoogleCloudSnitch was unable to execute the API call. Not a gce node?");
// Read the information.
int cl = conn.getContentLength();
byte[] b = new byte[cl];
d = new DataInputStream((FilterInputStream) conn.getContent());
d.readFully(b);
return new String(b, StandardCharsets.UTF_8);
}
finally
{
FileUtils.close(d);
conn.disconnect();
}
}
项目:cassandra-kmean
文件:Ec2Snitch.java
String awsApiCall(String url) throws IOException, ConfigurationException
{
// Populate the region and zone by introspection, fail if 404 on metadata
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
DataInputStream d = null;
try
{
conn.setRequestMethod("GET");
if (conn.getResponseCode() != 200)
throw new ConfigurationException("Ec2Snitch was unable to execute the API call. Not an ec2 node?");
// Read the information. I wish I could say (String) conn.getContent() here...
int cl = conn.getContentLength();
byte[] b = new byte[cl];
d = new DataInputStream((FilterInputStream) conn.getContent());
d.readFully(b);
return new String(b, StandardCharsets.UTF_8);
}
finally
{
FileUtils.close(d);
conn.disconnect();
}
}
项目:aesh-readline
文件:LineDisciplineTerminal.java
public LineDisciplineTerminal(String name,
String type,
OutputStream masterOutput) throws IOException {
super(name, type);
PipedInputStream input = new LinePipedInputStream(PIPE_SIZE);
this.slaveInputPipe = new PipedOutputStream(input);
// This is a hack to fix a problem in gogo where closure closes
// streams for commands if they are instances of PipedInputStream.
// So we need to get around and make sure it's not an instance of
// that class by using a dumb FilterInputStream class to wrap it.
this.slaveInput = new FilterInputStream(input) {};
this.slaveOutput = new FilteringOutputStream();
this.masterOutput = masterOutput;
this.attributes = new Attributes();
this.size = new Size(160, 50);
}
项目:lasta-di
文件:ResourceTraversal.java
public static void forEach(final ZipInputStream zipInputStream, final String prefix, final ResourceHandler handler) {
final int pos = prefix.length();
ZipEntry entry = null;
while ((entry = LdiZipInputStreamUtil.getNextEntry(zipInputStream)) != null) {
if (!entry.isDirectory()) {
final String entryName = entry.getName().replace('\\', '/');
if (!entryName.startsWith(prefix)) {
continue;
}
handler.processResource(entryName.substring(pos), new FilterInputStream(zipInputStream) {
public void close() throws IOException {
LdiZipInputStreamUtil.closeEntry(zipInputStream);
}
});
}
}
}
项目:IoTgo_Android_App
文件:JarResource.java
@Override
public InputStream getInputStream()
throws java.io.IOException
{
checkConnection();
if (!_urlString.endsWith("!/"))
return new FilterInputStream(super.getInputStream())
{
@Override
public void close() throws IOException {this.in=IO.getClosedStream();}
};
URL url = new URL(_urlString.substring(4,_urlString.length()-2));
InputStream is = url.openStream();
return is;
}
项目:IoTgo_Android_App
文件:JarResource.java
@Override
public InputStream getInputStream()
throws java.io.IOException
{
checkConnection();
if (!_urlString.endsWith("!/"))
return new FilterInputStream(super.getInputStream())
{
@Override
public void close() throws IOException {this.in=IO.getClosedStream();}
};
URL url = new URL(_urlString.substring(4,_urlString.length()-2));
InputStream is = url.openStream();
return is;
}
项目:ACaZoo
文件:Ec2Snitch.java
String awsApiCall(String url) throws IOException, ConfigurationException
{
// Populate the region and zone by introspection, fail if 404 on metadata
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
DataInputStream d = null;
try
{
conn.setRequestMethod("GET");
if (conn.getResponseCode() != 200)
throw new ConfigurationException("Ec2Snitch was unable to execute the API call. Not an ec2 node?");
// Read the information. I wish I could say (String) conn.getContent() here...
int cl = conn.getContentLength();
byte[] b = new byte[cl];
d = new DataInputStream((FilterInputStream) conn.getContent());
d.readFully(b);
return new String(b, Charsets.UTF_8);
}
finally
{
FileUtils.close(d);
conn.disconnect();
}
}
项目:guava-libraries
文件:MultiInputStreamTest.java
public void testOnlyOneOpen() throws Exception {
final ByteSource source = newByteSource(0, 50);
final int[] counter = new int[1];
ByteSource checker = new ByteSource() {
@Override
public InputStream openStream() throws IOException {
if (counter[0]++ != 0) {
throw new IllegalStateException("More than one source open");
}
return new FilterInputStream(source.openStream()) {
@Override public void close() throws IOException {
super.close();
counter[0]--;
}
};
}
};
byte[] result = ByteSource.concat(checker, checker, checker).read();
assertEquals(150, result.length);
}
项目:daq-eclipse
文件:FTPBlobDownloadStrategy.java
public InputStream getInputStream(ActiveMQBlobMessage message) throws IOException, JMSException {
url = message.getURL();
final FTPClient ftp = createFTP();
String path = url.getPath();
String workingDir = path.substring(0, path.lastIndexOf("/"));
String file = path.substring(path.lastIndexOf("/") + 1);
ftp.changeWorkingDirectory(workingDir);
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
InputStream input = new FilterInputStream(ftp.retrieveFileStream(file)) {
public void close() throws IOException {
in.close();
ftp.quit();
ftp.disconnect();
}
};
return input;
}
项目:infobip-open-jdk-8
文件:BandStructure.java
public void setInputStreamFrom(InputStream in) throws IOException {
assert(bytes == null);
assert(assertReadyToReadFrom(this, in));
setPhase(READ_PHASE);
this.in = in;
if (optDumpBands) {
// Tap the stream.
bytesForDump = new ByteArrayOutputStream();
this.in = new FilterInputStream(in) {
@Override
public int read() throws IOException {
int ch = in.read();
if (ch >= 0) bytesForDump.write(ch);
return ch;
}
@Override
public int read(byte b[], int off, int len) throws IOException {
int nr = in.read(b, off, len);
if (nr >= 0) bytesForDump.write(b, off, nr);
return nr;
}
};
}
super.readyToDisburse();
}
项目:infobip-open-jdk-8
文件:ClassReader.java
ClassReader(Class cls, InputStream in) throws IOException {
this.pkg = cls.getPackage();
this.cls = cls;
this.verbose = pkg.verbose;
this.in = new DataInputStream(new FilterInputStream(in) {
public int read(byte b[], int off, int len) throws IOException {
int nr = super.read(b, off, len);
if (nr >= 0) inPos += nr;
return nr;
}
public int read() throws IOException {
int ch = super.read();
if (ch >= 0) inPos += 1;
return ch;
}
public long skip(long n) throws IOException {
long ns = super.skip(n);
if (ns >= 0) inPos += ns;
return ns;
}
});
}
项目:infobip-open-jdk-8
文件:PackageReader.java
LimitedBuffer(InputStream originalIn) {
super(null, 1<<14);
servedPos = pos;
super.in = new FilterInputStream(originalIn) {
public int read() throws IOException {
if (buffered == limit)
return -1;
++buffered;
return super.read();
}
public int read(byte b[], int off, int len) throws IOException {
if (buffered == limit)
return -1;
if (limit != -1) {
long remaining = limit - buffered;
if (len > remaining)
len = (int)remaining;
}
int nr = super.read(b, off, len);
if (nr >= 0) buffered += nr;
return nr;
}
};
}
项目:jdk8u-dev-jdk
文件:BandStructure.java
public void setInputStreamFrom(InputStream in) throws IOException {
assert(bytes == null);
assert(assertReadyToReadFrom(this, in));
setPhase(READ_PHASE);
this.in = in;
if (optDumpBands) {
// Tap the stream.
bytesForDump = new ByteArrayOutputStream();
this.in = new FilterInputStream(in) {
@Override
public int read() throws IOException {
int ch = in.read();
if (ch >= 0) bytesForDump.write(ch);
return ch;
}
@Override
public int read(byte b[], int off, int len) throws IOException {
int nr = in.read(b, off, len);
if (nr >= 0) bytesForDump.write(b, off, nr);
return nr;
}
};
}
super.readyToDisburse();
}