com.google.common.io.ByteStreams#nullOutputStream ( )源码实例Demo

下面列出了com.google.common.io.ByteStreams#nullOutputStream ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

protected void write(int status, Map<String, String> headers, Object content) throws IOException {
  // write response status code
  servletResponse.setStatus(status);

  // write response headers
  if (headers != null) {
    for (Map.Entry<String, String> entry : headers.entrySet()) {
      servletResponse.addHeader(entry.getKey(), entry.getValue());
    }
  }

  // write response body
  if (content != null) {
    servletResponse.setContentType(SystemService.MIME_JSON);
    if (addContentLength) {
      CountingOutputStream counter = new CountingOutputStream(ByteStreams.nullOutputStream());
      objectWriter.writeValue(counter, content);
      servletResponse.setContentLength((int) counter.getCount());
    }
    objectWriter.writeValue(servletResponse.getOutputStream(), content);
  }
}
 
/** Creates the output stream to use for test results. Exposed for mocking. */
OutputStream createOutputResultStream(File reportDir) throws IOException {
  if (!reportDir.exists() && !reportDir.mkdirs()) {
    // TODO: Add Support for directBoot mode for FTL.
    // Right now it returns back a empty OutputStream if the device is in directBootMode.
    if (Build.VERSION.SDK_INT >= 24) {
      if (!((UserManager) getInstrumentation().getContext().getSystemService(UserManager.class))
          .isUserUnlocked()) {
        Log.e(LOG_TAG, "Currently no way to write output streams in direct boot mode.");
        return ByteStreams.nullOutputStream();
      }
    }
    throw new IOException("Failed to prepare report directory.");
  }
  File reportFile = getResultFile(reportDir);
  reportPath = reportFile.getAbsolutePath();
  return new BufferedOutputStream(new FileOutputStream(reportFile));
}
 
@Test
public void testThreads() throws Exception {
    LOG.info("AvailableProcessors = " + Runtime.getRuntime().availableProcessors());
    Random r = new Random();
    byte[] data = new byte[10 * 1024 * 1024];
    r.nextBytes(data);
    for (int i = 0; i < data.length; i++)
        data[i] = (byte) (data[i] & 0x7f);  // Strip the top bit to make it amenable to Huffman compression.

    OutputStream out = ByteStreams.nullOutputStream();
    ParallelGZIPOutputStream gzip = new ParallelGZIPOutputStream(out);
    Stopwatch stopwatch = Stopwatch.createStarted();

    for (int i = 0; i < 1024; i++) {
        LOG.debug("Write iteration " + i);
        gzip.write(data);
    }
    gzip.close();

    long elapsed = stopwatch.elapsed(TimeUnit.MILLISECONDS);
    LOG.info("elapsed=" + elapsed);
}
 
源代码4 项目: bazel   文件: StreamMultiplexerTest.java
@Test
public void testByteEncoding() throws IOException {
  OutputStream devNull = ByteStreams.nullOutputStream();
  StreamDemultiplexer demux = new StreamDemultiplexer((byte) 1, devNull);
  StreamMultiplexer mux = new StreamMultiplexer(demux);
  OutputStream out = mux.createStdout();

  // When we cast 266 to a byte, we get 10. So basically, we ended up
  // comparing 266 with 10 as an integer (because out.write takes an int),
  // and then later cast it to 10. This way we'd end up with a control
  // character \n in the middle of the payload which would then screw things
  // up when the real control character arrived. The fixed version of the
  // StreamMultiplexer avoids this problem by always casting to a byte before
  // carrying out any comparisons.

  out.write(266);
  out.write(10);
}
 
源代码5 项目: bundletool   文件: GZipUtils.java
/** Calculates the GZip compressed size in bytes of the target {@code stream}. */
public static long calculateGzipCompressedSize(@WillNotClose InputStream stream)
    throws IOException {
  CountingOutputStream countingOutputStream =
      new CountingOutputStream(ByteStreams.nullOutputStream());
  try (GZIPOutputStream compressedStream = new GZIPOutputStream(countingOutputStream)) {
    ByteStreams.copy(stream, compressedStream);
  }
  return countingOutputStream.getCount();
}
 
源代码6 项目: bundletool   文件: ApkBreakdownGeneratorTest.java
private static long compress(byte[] data) throws IOException {
  ZipEntry zipEntry = new ZipEntry("entry");
  try (ZipOutputStream zos = new ZipOutputStream(ByteStreams.nullOutputStream())) {
    zipEntry.setMethod(ZipEntry.DEFLATED);
    zos.putNextEntry(zipEntry);
    zos.write(data);
    zos.closeEntry();
  }
  return zipEntry.getCompressedSize();
}
 
源代码7 项目: hawkbit-examples   文件: DeviceSimulatorUpdater.java
private static long getOverallRead(final CloseableHttpResponse response, final MessageDigest md)
        throws IOException {

    long overallread;

    try (final OutputStream os = ByteStreams.nullOutputStream();
            final BufferedOutputStream bos = new BufferedOutputStream(new DigestOutputStream(os, md))) {

        try (BufferedInputStream bis = new BufferedInputStream(response.getEntity().getContent())) {
            overallread = ByteStreams.copy(bis, bos);
        }
    }

    return overallread;
}
 
源代码8 项目: modernizer-maven-plugin   文件: ModernizerTest.java
private static void method() throws Exception {
    ByteStreams.nullOutputStream();
    CharStreams.nullWriter();
    Files.toString((File) null, (Charset) null);
    Files.write("", (File) null, (Charset) null);
    new FileReader((File) null);
    new FileReader((String) null);
    new FileWriter((File) null);
    new FileWriter((File) null, true);
    new FileWriter("");
    new FileWriter("", true);
}
 
源代码9 项目: bazel   文件: DexFileMerger.java
private static DexFileAggregator createDexFileAggregator(
    Options options, ListeningExecutorService executor) throws IOException {
  String filePrefix = options.dexPrefix;
  if (options.multidexMode == MultidexStrategy.GIVEN_SHARD) {
    checkArgument(options.inputArchives.size() == 1,
        "--multidex=given_shard requires exactly one --input");
    Pattern namingPattern = Pattern.compile("([0-9]+)\\..*");
    Matcher matcher = namingPattern.matcher(options.inputArchives.get(0).toFile().getName());
    checkArgument(matcher.matches(),
        "expect input named <N>.xxx.zip for --multidex=given_shard but got %s",
        options.inputArchives.get(0).toFile().getName());
    int shard = Integer.parseInt(matcher.group(1));
    checkArgument(shard > 0, "expect positive N in input named <N>.xxx.zip but got %s", shard);
    if (shard > 1) {  // first shard conventionally isn't numbered
      filePrefix += shard;
    }
  }
  return new DexFileAggregator(
      new DxContext(options.verbose ? System.out : ByteStreams.nullOutputStream(), System.err),
      new DexFileArchive(
          new ZipOutputStream(
              new BufferedOutputStream(Files.newOutputStream(options.outputArchive)))),
      executor,
      options.multidexMode,
      options.forceJumbo,
      options.maxNumberOfIdxPerDex,
      options.wasteThresholdPerDex,
      filePrefix);
}
 
public void output(Resource resource) throws IOException {
	OutputStream nullo = ByteStreams.nullOutputStream();
	CountingOutputStream co = new CountingOutputStream(nullo);
	StreamCopy.copy(resource.getInputStream(), co);
	long bytes = co.getCount();
	if(bytes > 0) {
		LOG.info(bytes + " unconsumed bytes in Resource InputStream.");
	}
	try {
		out.println(resource.getMetaData().getTopMetaData().toString(1));
	} catch (JSONException e) {
		LOG.warning(e.getMessage());
	}		
}
 
源代码11 项目: mzmine3   文件: MzTabImportTask.java
@Override
public void run() {

  setStatus(TaskStatus.PROCESSING);

  try {
    // Prevent MZTabFileParser from writing to console
    OutputStream logStream = ByteStreams.nullOutputStream();

    // Load mzTab file
    MZTabFileParser mzTabFileParser = new MZTabFileParser(inputFile, logStream);

    if (!mzTabFileParser.getErrorList().getErrorList().isEmpty()) {
      setStatus(TaskStatus.ERROR);
      setErrorMessage(
          "Error processing " + inputFile + ":\n" + mzTabFileParser.getErrorList().toString());
      return;
    }

    MZTabFile mzTabFile = mzTabFileParser.getMZTabFile();

    // Let's say the initial parsing took 10% of the time
    finishedPercentage = 0.1;

    // Import raw data files
    SortedMap<Integer, RawDataFile> rawDataFiles = importRawDataFiles(mzTabFile);

    // Check if not canceled
    if (isCanceled())
      return;

    // Create a new feature list
    String peakListName = inputFile.getName().replace(".mzTab", "");
    RawDataFile rawDataArray[] = rawDataFiles.values().toArray(new RawDataFile[0]);
    PeakList newPeakList = new SimplePeakList(peakListName, rawDataArray);

    // Check if not canceled
    if (isCanceled())
      return;

    // Import variables
    importVariables(mzTabFile, rawDataFiles);

    // Check if not canceled
    if (isCanceled())
      return;

    // import small molecules (=feature list rows)
    importSmallMolecules(newPeakList, mzTabFile, rawDataFiles);

    // Check if not canceled
    if (isCanceled())
      return;

    // Add the new feature list to the project
    project.addPeakList(newPeakList);

    // Finish
    setStatus(TaskStatus.FINISHED);
    finishedPercentage = 1.0;

  } catch (Exception e) {
    e.printStackTrace();
    setStatus(TaskStatus.ERROR);
    setErrorMessage("Could not import data from " + inputFile + ": " + e.getMessage());
    return;
  }

}
 
源代码12 项目: copybara   文件: GithubArchive.java
@Override
public OutputStream openStream() {
  return ByteStreams.nullOutputStream();
}
 
源代码13 项目: xtext-core   文件: ServerLauncher.java
public static OutputStream silentOut() {
	return ByteStreams.nullOutputStream();
}
 
源代码14 项目: buck   文件: XctoolRunTestsStepTest.java
@Test
public void xctoolCommandWithTestSelectorMatchingNothingDoesNotFail() throws Exception {
  FakeProjectFilesystem projectFilesystem = new FakeProjectFilesystem();
  XctoolRunTestsStep step =
      new XctoolRunTestsStep(
          projectFilesystem,
          Paths.get("/path/to/xctool"),
          ImmutableMap.of(),
          Optional.empty(),
          "iphonesimulator",
          Optional.empty(),
          ImmutableSet.of(
              Paths.get("/path/to/FooTest.xctest"), Paths.get("/path/to/BarTest.xctest")),
          ImmutableMap.of(),
          ImmutableMap.of(),
          Paths.get("/path/to/output.json"),
          Optional.empty(),
          AppleDeveloperDirectoryForTestsProvider.of(Paths.get("/path/to/developer/dir")),
          TestSelectorList.builder().addRawSelectors("Blargh#Xyzzy").build(),
          false,
          Optional.empty(),
          Optional.empty(),
          Optional.empty(),
          Optional.empty(),
          Optional.empty(),
          Optional.empty());
  ProcessExecutorParams xctoolListOnlyParams =
      ProcessExecutorParams.builder()
          .setCommand(
              ImmutableList.of(
                  "/path/to/xctool",
                  "-reporter",
                  "json-stream",
                  "-sdk",
                  "iphonesimulator",
                  "run-tests",
                  "-logicTest",
                  "/path/to/FooTest.xctest",
                  "-logicTest",
                  "/path/to/BarTest.xctest",
                  "-listTestsOnly"))
          .setEnvironment(ImmutableMap.of("DEVELOPER_DIR", "/path/to/developer/dir"))
          .setDirectory(projectFilesystem.getRootPath().getPath())
          .setRedirectOutput(ProcessBuilder.Redirect.PIPE)
          .build();
  try (InputStream stdout =
          getClass().getResourceAsStream("testdata/xctool-output/list-tests-only.json");
      InputStream stderr = new ByteArrayInputStream(new byte[0])) {
    assertThat(stdout, not(nullValue()));
    FakeProcess fakeXctoolListTestsProcess =
        new FakeProcess(0, ByteStreams.nullOutputStream(), stdout, stderr);
    FakeProcessExecutor processExecutor =
        new FakeProcessExecutor(
            ImmutableMap.of(xctoolListOnlyParams, fakeXctoolListTestsProcess));
    ExecutionContext executionContext =
        TestExecutionContext.newBuilder()
            .setProcessExecutor(processExecutor)
            .setEnvironment(ImmutableMap.of())
            .build();
    assertThat(step.execute(executionContext).getExitCode(), equalTo(0));
  }
}
 
源代码15 项目: batfish   文件: CompositePrintStream.java
public CompositePrintStream(PrintStream ps1, PrintStream ps2) {
  super(ByteStreams.nullOutputStream());
  _ps1 = ps1;
  _ps2 = ps2;
}
 
源代码16 项目: bazel   文件: BuildEventArtifactUploader.java
@Override
public OutputStream getOutputStream() {
  return ByteStreams.nullOutputStream();
}
 
源代码17 项目: bazel   文件: JUnit4RunnerTest.java
OutputStream xmlOutputStream() {
  return ByteStreams.nullOutputStream();
}
 
源代码18 项目: bazel   文件: JUnit4RunnerTest.java
PrintStream provideStderrStream() {
  return new PrintStream(ByteStreams.nullOutputStream());
}
 
源代码19 项目: bazel   文件: LocalSpawnRunnerTest.java
@Override
public OutputStream getOutputStream() {
  return ByteStreams.nullOutputStream();
}
 
源代码20 项目: buck   文件: XctoolRunTestsStepTest.java
@Test
public void xctoolCommandWithTestSelectorFiltersTests() throws Exception {
  FakeProjectFilesystem projectFilesystem = new FakeProjectFilesystem();
  XctoolRunTestsStep step =
      new XctoolRunTestsStep(
          projectFilesystem,
          Paths.get("/path/to/xctool"),
          ImmutableMap.of(),
          Optional.empty(),
          "iphonesimulator",
          Optional.empty(),
          ImmutableSet.of(
              Paths.get("/path/to/FooTest.xctest"), Paths.get("/path/to/BarTest.xctest")),
          ImmutableMap.of(),
          ImmutableMap.of(),
          Paths.get("/path/to/output.json"),
          Optional.empty(),
          AppleDeveloperDirectoryForTestsProvider.of(Paths.get("/path/to/developer/dir")),
          TestSelectorList.builder().addRawSelectors("#.*Magic.*").build(),
          false,
          Optional.empty(),
          Optional.empty(),
          Optional.empty(),
          Optional.empty(),
          Optional.empty(),
          Optional.empty());

  ProcessExecutorParams xctoolListOnlyParams =
      ProcessExecutorParams.builder()
          .setCommand(
              ImmutableList.of(
                  "/path/to/xctool",
                  "-reporter",
                  "json-stream",
                  "-sdk",
                  "iphonesimulator",
                  "run-tests",
                  "-logicTest",
                  "/path/to/FooTest.xctest",
                  "-logicTest",
                  "/path/to/BarTest.xctest",
                  "-listTestsOnly"))
          .setEnvironment(ImmutableMap.of("DEVELOPER_DIR", "/path/to/developer/dir"))
          .setDirectory(projectFilesystem.getRootPath().getPath())
          .setRedirectOutput(ProcessBuilder.Redirect.PIPE)
          .build();
  try (InputStream stdout =
          getClass().getResourceAsStream("testdata/xctool-output/list-tests-only.json");
      InputStream stderr = new ByteArrayInputStream(new byte[0])) {
    assertThat(stdout, not(nullValue()));
    FakeProcess fakeXctoolListTestsProcess =
        new FakeProcess(0, ByteStreams.nullOutputStream(), stdout, stderr);
    ProcessExecutorParams xctoolRunTestsParamsWithOnlyFilters =
        ProcessExecutorParams.builder()
            .addCommand(
                "/path/to/xctool",
                "-reporter",
                "json-stream",
                "-sdk",
                "iphonesimulator",
                "run-tests",
                "-logicTest",
                "/path/to/FooTest.xctest",
                "-logicTest",
                "/path/to/BarTest.xctest",
                "-only",
                "/path/to/FooTest.xctest:FooTest/testMagicValue,FooTest/testAnotherMagicValue",
                "-only",
                "/path/to/BarTest.xctest:BarTest/testYetAnotherMagicValue")
            .setEnvironment(ImmutableMap.of("DEVELOPER_DIR", "/path/to/developer/dir"))
            .setDirectory(projectFilesystem.getRootPath().getPath())
            .setRedirectOutput(ProcessBuilder.Redirect.PIPE)
            .build();
    FakeProcess fakeXctoolSuccess = new FakeProcess(0, "", "");
    FakeProcessExecutor processExecutor =
        new FakeProcessExecutor(
            ImmutableMap.of(
                xctoolListOnlyParams, fakeXctoolListTestsProcess,
                // The important part of this test is that we want to make sure xctool
                // is run with the correct -only parameters. (We don't really care what
                // the return value of this xctool is, so we make it always succeed.)
                xctoolRunTestsParamsWithOnlyFilters, fakeXctoolSuccess));
    ExecutionContext executionContext =
        TestExecutionContext.newBuilder()
            .setProcessExecutor(processExecutor)
            .setEnvironment(ImmutableMap.of())
            .build();
    assertThat(step.execute(executionContext).getExitCode(), equalTo(0));
  }
}