java类java.io.FilterInputStream的实例源码

MultiInputStreamTest.java 文件源码 项目:guava-mock 阅读 22 收藏 0 点赞 0 评论 0
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);
}
BandStructure.java 文件源码 项目:OpenJSharp 阅读 23 收藏 0 点赞 0 评论 0
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();
}
ClassReader.java 文件源码 项目:OpenJSharp 阅读 28 收藏 0 点赞 0 评论 0
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;
        }
    });
}
PackageReader.java 文件源码 项目:OpenJSharp 阅读 28 收藏 0 点赞 0 评论 0
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;
        }
    };
}
PackageReader.java 文件源码 项目:OpenJSharp 阅读 24 收藏 0 点赞 0 评论 0
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;
        }
    };
}
BandStructure.java 文件源码 项目:jdk8u-jdk 阅读 26 收藏 0 点赞 0 评论 0
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();
}
ClassReader.java 文件源码 项目:jdk8u-jdk 阅读 25 收藏 0 点赞 0 评论 0
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;
        }
    });
}
PackageReader.java 文件源码 项目:jdk8u-jdk 阅读 36 收藏 0 点赞 0 评论 0
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;
        }
    };
}
BandStructure.java 文件源码 项目:openjdk-jdk10 阅读 25 收藏 0 点赞 0 评论 0
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();
}
ClassReader.java 文件源码 项目:openjdk-jdk10 阅读 27 收藏 0 点赞 0 评论 0
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;
        }
    });
}
PackageReader.java 文件源码 项目:openjdk-jdk10 阅读 26 收藏 0 点赞 0 评论 0
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;
        }
    };
}
MultiInputStreamTest.java 文件源码 项目:googles-monorepo-demo 阅读 23 收藏 0 点赞 0 评论 0
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);
}
GifLoadTask.java 文件源码 项目:sctalk 阅读 33 收藏 0 点赞 0 评论 0
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;
}
BandStructure.java 文件源码 项目:openjdk9 阅读 25 收藏 0 点赞 0 评论 0
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();
}
ClassReader.java 文件源码 项目:openjdk9 阅读 28 收藏 0 点赞 0 评论 0
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;
        }
    });
}
PackageReader.java 文件源码 项目:openjdk9 阅读 28 收藏 0 点赞 0 评论 0
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;
        }
    };
}
FileBackedInputStreamTest.java 文件源码 项目:dw-jdbc 阅读 24 收藏 0 点赞 0 评论 0
@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);
    }
}
EClientSocket.java 文件源码 项目:goib 阅读 23 收藏 0 点赞 0 评论 0
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) {
    }
}
ApacheConnector.java 文件源码 项目:FoDBugTrackerUtility 阅读 27 收藏 0 点赞 0 评论 0
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();
            }
        };
    }
BandStructure.java 文件源码 项目:jdk8u_jdk 阅读 20 收藏 0 点赞 0 评论 0
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();
}
ClassReader.java 文件源码 项目:jdk8u_jdk 阅读 26 收藏 0 点赞 0 评论 0
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;
        }
    });
}
PackageReader.java 文件源码 项目:jdk8u_jdk 阅读 24 收藏 0 点赞 0 评论 0
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;
        }
    };
}
BandStructure.java 文件源码 项目:lookaside_java-1.8.0-openjdk 阅读 23 收藏 0 点赞 0 评论 0
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();
}
ClassReader.java 文件源码 项目:lookaside_java-1.8.0-openjdk 阅读 24 收藏 0 点赞 0 评论 0
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;
        }
    });
}
PackageReader.java 文件源码 项目:lookaside_java-1.8.0-openjdk 阅读 28 收藏 0 点赞 0 评论 0
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;
        }
    };
}
HttpRegistry.java 文件源码 项目:fcrepo-api-x 阅读 28 收藏 0 点赞 0 评论 0
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);
    }
}
URLUtil.java 文件源码 项目:intellij-ce-playground 阅读 31 收藏 0 点赞 0 评论 0
@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();
    }
  };
}
GoogleCloudSnitch.java 文件源码 项目:cassandra-kmean 阅读 27 收藏 0 点赞 0 评论 0
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();
    }
}
Ec2Snitch.java 文件源码 项目:cassandra-kmean 阅读 29 收藏 0 点赞 0 评论 0
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();
    }
}
LineDisciplineTerminal.java 文件源码 项目:aesh-readline 阅读 24 收藏 0 点赞 0 评论 0
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);
}


问题


面经


文章

微信
公众号

扫码关注公众号