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


Java InputSupplier類代碼示例

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


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

示例1: getClassBody

import com.google.common.io.InputSupplier; //導入依賴的package包/類
private String getClassBody(Class<?> c) throws CompileException, IOException{
  String path = c.getName();
  path = path.replaceFirst("\\$.*", "");
  path = path.replace(".", FileUtils.separator);
  path = "/" + path + ".java";
  URL u = Resources.getResource(c, path);
  InputSupplier<InputStream> supplier = Resources.newInputStreamSupplier(u);
  try (InputStream is = supplier.getInput()) {
    if (is == null) {
      throw new IOException(String.format("Failure trying to located source code for Class %s, tried to read on classpath location %s", c.getName(), path));
    }
    String body = IO.toString(is);

    //TODO: Hack to remove annotations so Janino doesn't choke.  Need to reconsider this problem...
    //return body.replaceAll("@(?:Output|Param|Workspace|Override|SuppressWarnings\\([^\\\\]*?\\)|FunctionTemplate\\([^\\\\]*?\\))", "");
    return body.replaceAll("@(?:\\([^\\\\]*?\\))?", "");
  }

}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:20,代碼來源:FunctionConverter.java

示例2: extractProjectFiles

import com.google.common.io.InputSupplier; //導入依賴的package包/類
private ArrayList<String> extractProjectFiles(ZipFile inputZip, File projectRoot)
    throws IOException {
  ArrayList<String> projectFileNames = Lists.newArrayList();
  Enumeration<? extends ZipEntry> inputZipEnumeration = inputZip.entries();
  while (inputZipEnumeration.hasMoreElements()) {
    ZipEntry zipEntry = inputZipEnumeration.nextElement();
    final InputStream extractedInputStream = inputZip.getInputStream(zipEntry);
    File extractedFile = new File(projectRoot, zipEntry.getName());
    LOG.info("extracting " + extractedFile.getAbsolutePath() + " from input zip");
    Files.createParentDirs(extractedFile); // Do I need this?
    Files.copy(
        new InputSupplier<InputStream>() {
          public InputStream getInput() throws IOException {
            return extractedInputStream;
          }
        },
        extractedFile);
    projectFileNames.add(extractedFile.getPath());
  }
  return projectFileNames;
}
 
開發者ID:mit-cml,項目名稱:appinventor-extensions,代碼行數:22,代碼來源:ProjectBuilder.java

示例3: verifyPutAndGet

import com.google.common.io.InputSupplier; //導入依賴的package包/類
private void verifyPutAndGet(String blobId, final byte[] blobData, Map<String, String> attributes, @Nullable Duration ttl)
        throws IOException {
    _store.put(TABLE, blobId, new InputSupplier<InputStream>() {
        @Override
        public InputStream getInput() throws IOException {
            return new ByteArrayInputStream(blobData);
        }
    }, attributes, ttl);

    // verify that we can get what we put
    Blob blob = _store.get(TABLE, blobId);
    assertEquals(blob.getId(), blobId);
    assertEquals(blob.getLength(), blobData.length);
    assertEquals(blob.getAttributes(), attributes);
    ByteArrayOutputStream buf = new ByteArrayOutputStream();
    blob.writeTo(buf);
    assertEquals(buf.toByteArray(), blobData);

    BlobMetadata md = _store.getMetadata(TABLE, blobId);
    assertEquals(md.getId(), blobId);
    assertEquals(md.getLength(), blobData.length);
    assertEquals(md.getAttributes(), attributes);
}
 
開發者ID:bazaarvoice,項目名稱:emodb,代碼行數:24,代碼來源:CasBlobStoreTest.java

示例4: toPayload

import com.google.common.io.InputSupplier; //導入依賴的package包/類
@Converter
public static Payload toPayload(final InputStream is, Exchange exchange) throws IOException {
    InputStreamPayload payload = new InputStreamPayload(is);
    // only set the contentlength if possible
    if (is.markSupported()) {
        long contentLength = ByteStreams.length(new InputSupplier<InputStream>() {
            @Override
            public InputStream getInput() throws IOException {
                return is;
            }
        });
        is.reset();
        payload.getContentMetadata().setContentLength(contentLength);
    }
    return payload;
}
 
開發者ID:HydAu,項目名稱:Camel,代碼行數:17,代碼來源:JcloudsPayloadConverter.java

示例5: fromStream

import com.google.common.io.InputSupplier; //導入依賴的package包/類
/**
 * Load the content of a file from a stream.
 * <p>
 * Use {@link Files#newInputStreamSupplier(java.io.File)} to provide a stream from a file.
 * @param stream - the stream supplier.
 * @param option - whether or not to decompress the input stream.
 * @return The decoded NBT compound.
 * @throws IOException If anything went wrong.
 */
public static NbtCompound fromStream(InputSupplier<? extends InputStream> stream, StreamOptions option) throws IOException {
    InputStream input = null;
    DataInputStream data = null;
    boolean suppress = true;
    
    try {
        input = stream.getInput();
        data = new DataInputStream(new BufferedInputStream(
            option == StreamOptions.GZIP_COMPRESSION ? new GZIPInputStream(input) : input
        ));
        
        NbtCompound result = fromCompound(get().LOAD_COMPOUND.loadNbt(data));
        suppress = false;
        return result;
        
    } finally {
        if (data != null)
            Closeables.close(data, suppress);
        else if (input != null)
            Closeables.close(input, suppress);
    }
}
 
開發者ID:Mayomi,項目名稱:PlotSquared-Chinese,代碼行數:32,代碼來源:NbtFactory.java

示例6: setup

import com.google.common.io.InputSupplier; //導入依賴的package包/類
public static void setup(String deobFileName){
    try{
        LZMAInputSupplier zis = new LZMAInputSupplier(FMLInjectionData.class.getResourceAsStream(deobFileName));
        InputSupplier<InputStreamReader> srgSupplier = CharStreams.newReaderSupplier(zis, Charsets.UTF_8);
        List<String> srgList = CharStreams.readLines(srgSupplier);

        for (String line : srgList) {

            line = line.replace(" #C", "").replace(" #S", "");

            if (line.startsWith("CL")) {
                parseClass(line);
            } else if (line.startsWith("FD")) {
                parseField(line);
            } else if (line.startsWith("MD")) {
                parseMethod(line);
            }

        }


    }catch(Exception e){
        e.printStackTrace();
    }
}
 
開發者ID:TheAwesomeGem,項目名稱:MineFantasy,代碼行數:26,代碼來源:BattlegearTranslator.java

示例7: read_properties_file_guava

import com.google.common.io.InputSupplier; //導入依賴的package包/類
@Test
public void read_properties_file_guava() throws IOException {
	
	URL url = Resources.getResource(PROPERTY_FILE_NAME);
	InputSupplier<InputStream> inputSupplier = 
			Resources.newInputStreamSupplier(url);
	
	Properties properties = new Properties();
	properties.load(inputSupplier.getInput());
	
	logger.info(properties);
	
	assertEquals("http://www.leveluplunch.com", properties.getProperty("website"));
	assertEquals("English", properties.getProperty("language"));
	assertEquals("Welcome up to leveluplunch.com", properties.getProperty("message"));
}
 
開發者ID:wq19880601,項目名稱:java-util-examples,代碼行數:17,代碼來源:ReadPropertiesFile.java

示例8: wrapFile

import com.google.common.io.InputSupplier; //導入依賴的package包/類
/**
 * 將文件打包成消息協議
 * @param file
 * @return
 * 添加(修改)人:zhuyuping
 * @throws Exception 
 * @throws FileNotFoundException 
 */
   private FileDataMessage wrapFile(File file){
	FileDataMessage fm=new FileDataMessage();
	try{
	final InputStream input=new FileInputStream(file);
	fm.setBytes(ByteStreams.toByteArray(input));
	fm.setSessionId(System.identityHashCode(file.getAbsolutePath()));
	fm.setHead(1314);
	fm.setCommand(1);
	fm.setLenth(file.length());
	fm.setPath(file.getAbsolutePath());
	fm.setStart(0);
	fm.setEnd(file.length());
	fm.setHash(ByteStreams.getChecksum(new InputSupplier<InputStream>() {

		@Override
		public InputStream getInput() throws IOException {
			
			return input;
		}
	}, new Adler32()));//crc32最強驗證 adl32最弱驗證
	}catch(Exception e){
		
	}
	return fm;
}
 
開發者ID:desperado1992,項目名稱:distributeTemplate,代碼行數:34,代碼來源:FileSystemService.java

示例9: testNoNulls

import com.google.common.io.InputSupplier; //導入依賴的package包/類
@Test
public void testNoNulls() throws Exception {
  JvmOptions options = new JvmOptions("-version",
                                      new JvmOptions.DebugOptions(true, false, ImmutableSet.of("one", "two")));
  final StringWriter writer = new StringWriter();
  JvmOptionsCodec.encode(options, new OutputSupplier<Writer>() {
    @Override
    public Writer getOutput() throws IOException {
      return writer;
    }
  });
  JvmOptions options1 = JvmOptionsCodec.decode(new InputSupplier<Reader>() {
    @Override
    public Reader getInput() throws IOException {
      return new StringReader(writer.toString());
    }
  });
  Assert.assertEquals(options.getExtraOptions(), options1.getExtraOptions());
  Assert.assertEquals(options.getDebugOptions().doDebug(), options1.getDebugOptions().doDebug());
  Assert.assertEquals(options.getDebugOptions().doSuspend(), options1.getDebugOptions().doSuspend());
  Assert.assertEquals(options.getDebugOptions().getRunnables(), options1.getDebugOptions().getRunnables());
}
 
開發者ID:chtyim,項目名稱:incubator-twill,代碼行數:23,代碼來源:JvmOptionsCodecTest.java

示例10: testSomeNulls

import com.google.common.io.InputSupplier; //導入依賴的package包/類
@Test
public void testSomeNulls() throws Exception {
  JvmOptions options = new JvmOptions(null, new JvmOptions.DebugOptions(false, false, null));
  final StringWriter writer = new StringWriter();
  JvmOptionsCodec.encode(options, new OutputSupplier<Writer>() {
    @Override
    public Writer getOutput() throws IOException {
      return writer;
    }
  });
  JvmOptions options1 = JvmOptionsCodec.decode(new InputSupplier<Reader>() {
    @Override
    public Reader getInput() throws IOException {
      return new StringReader(writer.toString());
    }
  });
  Assert.assertEquals(options.getExtraOptions(), options1.getExtraOptions());
  Assert.assertEquals(options.getDebugOptions().doDebug(), options1.getDebugOptions().doDebug());
  Assert.assertEquals(options.getDebugOptions().doSuspend(), options1.getDebugOptions().doSuspend());
  Assert.assertEquals(options.getDebugOptions().getRunnables(), options1.getDebugOptions().getRunnables());
}
 
開發者ID:chtyim,項目名稱:incubator-twill,代碼行數:22,代碼來源:JvmOptionsCodecTest.java

示例11: testNoRunnables

import com.google.common.io.InputSupplier; //導入依賴的package包/類
@Test
public void testNoRunnables() throws Exception {
  List<String> noRunnables = Collections.emptyList();
  JvmOptions options = new JvmOptions(null, new JvmOptions.DebugOptions(true, false, noRunnables));
  final StringWriter writer = new StringWriter();
  JvmOptionsCodec.encode(options, new OutputSupplier<Writer>() {
    @Override
    public Writer getOutput() throws IOException {
      return writer;
    }
  });
  JvmOptions options1 = JvmOptionsCodec.decode(new InputSupplier<Reader>() {
    @Override
    public Reader getInput() throws IOException {
      return new StringReader(writer.toString());
    }
  });
  Assert.assertEquals(options.getExtraOptions(), options1.getExtraOptions());
  Assert.assertEquals(options.getDebugOptions().doDebug(), options1.getDebugOptions().doDebug());
  Assert.assertEquals(options.getDebugOptions().doSuspend(), options1.getDebugOptions().doSuspend());
  Assert.assertEquals(options.getDebugOptions().getRunnables(), options1.getDebugOptions().getRunnables());
}
 
開發者ID:chtyim,項目名稱:incubator-twill,代碼行數:23,代碼來源:JvmOptionsCodecTest.java

示例12: fromStream

import com.google.common.io.InputSupplier; //導入依賴的package包/類
/**
 * Load the content of a file from a stream.
 * <p>
 * Use {@link Files#newInputStreamSupplier(java.io.File)} to provide a stream from a file.
 * @param stream - the stream supplier.
 * @param option - whether or not to decompress the input stream.
 * @return The decoded NBT compound.
 * @throws IOException If anything went wrong.
 */
public static NbtCompound fromStream(InputSupplier<? extends InputStream> stream, StreamOptions option) throws IOException {
    InputStream input = null;
    DataInputStream data = null;
    boolean suppress = true;

    try {
        input = stream.getInput();
        data = new DataInputStream(new BufferedInputStream(
                option == StreamOptions.GZIP_COMPRESSION ? new GZIPInputStream(input) : input
        ));

        NbtCompound result = fromCompound(get().LOAD_COMPOUND.loadNbt(data));
        suppress = false;
        return result;

    } finally {
        if (data != null)
            Closeables.close(data, suppress);
        else if (input != null)
            Closeables.close(input, suppress);
    }
}
 
開發者ID:Kingdoms-of-Arden-Development,項目名稱:Crafty,代碼行數:32,代碼來源:NbtFactory.java

示例13: fromStream

import com.google.common.io.InputSupplier; //導入依賴的package包/類
/**
 * Load the content of a file from a stream.
 * <p>
 * Use {@link Files#newInputStreamSupplier(java.io.File)} to provide a stream from a file.
 *
 * @param stream - the stream supplier.
 * @param option - whether or not to decompress the input stream.
 * @return The decoded NBT compound.
 * @throws IOException If anything went wrong.
 */
public static NbtCompound fromStream(InputSupplier<? extends InputStream> stream, StreamOptions option) throws IOException {
	InputStream input = null;
	DataInputStream data = null;
	boolean suppress = true;

	try {
		input = stream.getInput();
		data = new DataInputStream(new BufferedInputStream(
				option == StreamOptions.GZIP_COMPRESSION ? new GZIPInputStream(input) : input
		));

		NbtCompound result = fromCompound(get().LOAD_COMPOUND.loadNbt(data));
		suppress = false;
		return result;

	} finally {
		if (data != null)
			Closeables.close(data, suppress);
		else if (input != null)
			Closeables.close(input, suppress);
	}
}
 
開發者ID:KingFaris10,項目名稱:KingKits,代碼行數:33,代碼來源:NbtFactory.java

示例14: doSlice

import com.google.common.io.InputSupplier; //導入依賴的package包/類
protected Payload doSlice(final FSDataInputStream inputStream,
      final long offset, final long length) {
   return new InputStreamSupplierPayload(new InputSupplier<InputStream>() {
      public InputStream getInput() throws IOException {
         if (offset > 0) {
            try {
               inputStream.seek(offset);
            } catch (IOException e) {
               Closeables.closeQuietly(inputStream);
               throw e;
            }
         }
         return new LimitInputStream(inputStream, length);
      }
   });
}
 
開發者ID:jclouds,項目名稱:jclouds-examples,代碼行數:17,代碼來源:HdfsPayloadSlicer.java

示例15: LazyLoadFrame

import com.google.common.io.InputSupplier; //導入依賴的package包/類
public LazyLoadFrame(Context context, InputSupplier<? extends InputStream> frame) throws IOException {
  this.context = context;
  
  DataInputStream din = new DataInputStream(frame.getInput());
  int version = din.readInt();
  if(version != VERSION) {
    throw new IOException("Unsupported version: " + version);
  }
  int count = din.readInt();
  for(int i=0;i!=count;++i) {
    String name = din.readUTF();
    int byteCount = din.readInt();
    byte[] bytes = new byte[byteCount];
    din.readFully(bytes);
    map.put(Symbol.get(name), new Value(bytes));
  }
  din.close();
}
 
開發者ID:bedatadriven,項目名稱:renjin-statet,代碼行數:19,代碼來源:LazyLoadFrame.java


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