當前位置: 首頁>>代碼示例>>Java>>正文


Java FilterInputStream類代碼示例

本文整理匯總了Java中java.io.FilterInputStream的典型用法代碼示例。如果您正苦於以下問題:Java FilterInputStream類的具體用法?Java FilterInputStream怎麽用?Java FilterInputStream使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


FilterInputStream類屬於java.io包,在下文中一共展示了FilterInputStream類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: testOnlyOneOpen

import java.io.FilterInputStream; //導入依賴的package包/類
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);
}
 
開發者ID:zugzug90,項目名稱:guava-mock,代碼行數:21,代碼來源:MultiInputStreamTest.java

示例2: setInputStreamFrom

import java.io.FilterInputStream; //導入依賴的package包/類
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();
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:26,代碼來源:BandStructure.java

示例3: ClassReader

import java.io.FilterInputStream; //導入依賴的package包/類
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;
        }
    });
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:23,代碼來源:ClassReader.java

示例4: LimitedBuffer

import java.io.FilterInputStream; //導入依賴的package包/類
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;
        }
    };
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:25,代碼來源:PackageReader.java

示例5: getFromCache

import java.io.FilterInputStream; //導入依賴的package包/類
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;
}
 
開發者ID:ccfish86,項目名稱:sctalk,代碼行數:23,代碼來源:GifLoadTask.java

示例6: testDownloadException

import java.io.FilterInputStream; //導入依賴的package包/類
@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);
    }
}
 
開發者ID:datadotworld,項目名稱:dw-jdbc,代碼行數:23,代碼來源:FileBackedInputStreamTest.java

示例7: eDisconnect

import java.io.FilterInputStream; //導入依賴的package包/類
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) {
    }
}
 
開發者ID:qerio,項目名稱:goib,代碼行數:27,代碼來源:EClientSocket.java

示例8: getInputStream

import java.io.FilterInputStream; //導入依賴的package包/類
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();
            }
        };
    }
 
開發者ID:fod-dev,項目名稱:FoDBugTrackerUtility,代碼行數:24,代碼來源:ApacheConnector.java

示例9: getStream

import java.io.FilterInputStream; //導入依賴的package包/類
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);
    }
}
 
開發者ID:fcrepo4-labs,項目名稱:fcrepo-api-x,代碼行數:20,代碼來源:HttpRegistry.java

示例10: openJarStream

import java.io.FilterInputStream; //導入依賴的package包/類
@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();
    }
  };
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:23,代碼來源:URLUtil.java

示例11: gceApiCall

import java.io.FilterInputStream; //導入依賴的package包/類
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();
    }
}
 
開發者ID:vcostet,項目名稱:cassandra-kmean,代碼行數:26,代碼來源:GoogleCloudSnitch.java

示例12: awsApiCall

import java.io.FilterInputStream; //導入依賴的package包/類
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();
    }
}
 
開發者ID:vcostet,項目名稱:cassandra-kmean,代碼行數:25,代碼來源:Ec2Snitch.java

示例13: LineDisciplineTerminal

import java.io.FilterInputStream; //導入依賴的package包/類
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);
}
 
開發者ID:aeshell,項目名稱:aesh-readline,代碼行數:17,代碼來源:LineDisciplineTerminal.java

示例14: forEach

import java.io.FilterInputStream; //導入依賴的package包/類
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);
                }
            });
        }
    }
}
 
開發者ID:lastaflute,項目名稱:lasta-di,代碼行數:18,代碼來源:ResourceTraversal.java

示例15: getInputStream

import java.io.FilterInputStream; //導入依賴的package包/類
@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;
}
 
開發者ID:itead,項目名稱:IoTgo_Android_App,代碼行數:17,代碼來源:JarResource.java


注:本文中的java.io.FilterInputStream類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。