public void handle(InputStream stream) throws IOException { FileUtils.copyInputStreamToFile(stream, checksumFile); }
/** * Copies bytes from the URL <code>source</code> to a file * <code>destination</code>. The directories up to <code>destination</code> * will be created if they don't already exist. <code>destination</code> * will be overwritten if it already exists. * <p> * Warning: this method does not set a connection or read timeout and thus * might block forever. Use {@link #copyURLToFile(URL, File, int, int)} * with reasonable timeouts to prevent this. * * @param source the <code>URL</code> to copy bytes from, must not be {@code null} * @param destination the non-directory <code>File</code> to write bytes to * (possibly overwriting), must not be {@code null} * @throws IOException if <code>source</code> URL cannot be opened * @throws IOException if <code>destination</code> is a directory * @throws IOException if <code>destination</code> cannot be written * @throws IOException if <code>destination</code> needs creating but can't be * @throws IOException if an IO error occurs during copying */ public static void copyURLToFile(final URL source, final File destination) throws IOException { copyInputStreamToFile(source.openStream(), destination); }
protected File saveFileContent(HttpResponse response, File downloadedFile) throws IOException { copyInputStreamToFile(response.getEntity().getContent(), downloadedFile); return downloadedFile; } }
/** * Copies bytes from the URL <code>source</code> to a file * <code>destination</code>. The directories up to <code>destination</code> * will be created if they don't already exist. <code>destination</code> * will be overwritten if it already exists. * * @param source the <code>URL</code> to copy bytes from, must not be {@code null} * @param destination the non-directory <code>File</code> to write bytes to * (possibly overwriting), must not be {@code null} * @param connectionTimeout the number of milliseconds until this method * will timeout if no connection could be established to the <code>source</code> * @param readTimeout the number of milliseconds until this method will * timeout if no data could be read from the <code>source</code> * @throws IOException if <code>source</code> URL cannot be opened * @throws IOException if <code>destination</code> is a directory * @throws IOException if <code>destination</code> cannot be written * @throws IOException if <code>destination</code> needs creating but can't be * @throws IOException if an IO error occurs during copying * @since 2.0 */ public static void copyURLToFile(final URL source, final File destination, final int connectionTimeout, final int readTimeout) throws IOException { final URLConnection connection = source.openConnection(); connection.setConnectTimeout(connectionTimeout); connection.setReadTimeout(readTimeout); copyInputStreamToFile(connection.getInputStream(), destination); }
private static void downloadBinaryTo(InstalledPlugin plugin, File downloadedFile, WsResponse response) { try (InputStream stream = response.contentStream()) { FileUtils.copyInputStreamToFile(stream, downloadedFile); } catch (IOException e) { throw new IllegalStateException(format("Fail to download plugin [%s] into %s", plugin.key, downloadedFile), e); } }
private void replaceFileWithPackagedOne(File jettyConfig) { InputStream inputStream = null; try { inputStream = getClass().getResourceAsStream(JETTY_XML_LOCATION_IN_JAR + "/" + jettyConfig.getName()); if (inputStream == null) { throw new RuntimeException(format("Resource {0}/{1} does not exist in the classpath", JETTY_XML_LOCATION_IN_JAR, jettyConfig.getName())); } FileUtils.copyInputStreamToFile(inputStream, systemEnvironment.getJettyConfigFile()); } catch (IOException e) { throw new RuntimeException(e); } finally { IOUtils.closeQuietly(inputStream); } }
private void downloadGeoLiteDbToFile(File geoDb) { if (geoDb.exists()) { return; } try { LOG.info("Downloading geo ip database to [%s]. This may take a few minutes.", geoDb.getAbsolutePath()); File tmpFile = File.createTempFile("druid", "geo"); FileUtils.copyInputStreamToFile( new GZIPInputStream( new URL("http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz").openStream() ), tmpFile ); if (!tmpFile.renameTo(geoDb)) { throw new RuntimeException("Unable to move geo file to [" + geoDb.getAbsolutePath() + "]!"); } } catch (IOException e) { throw new RuntimeException("Unable to download geo ip database.", e); } }
private File createBizFile() throws IOException { String url = typeCommandOption.getArgs()[0]; String fileName = parseFileName(url); URL bizUrl = new URL(url); File workingDir = new File(EnvironmentUtils.getProperty(Constants.JARSLINK_WORKING_DIR)); File bizFile = new File(workingDir, fileName); FileUtils.copyInputStreamToFile(bizUrl.openStream(), bizFile); return bizFile; }
public static File resourceAsFile(String path) throws URISyntaxException, IOException { ClassLoader cl = TestUtils.class.getClassLoader(); URI uri = cl.getResource(path).toURI(); if (uri.isAbsolute() && !uri.isOpaque()) { return new File(uri); } else { File tmpFile = File.createTempFile("tmpfile-", ".data", TMP_DIR); tmpFile.deleteOnExit(); try (InputStream is = cl.getResourceAsStream(path)) { FileUtils.copyInputStreamToFile(is, tmpFile); return tmpFile; } } }
try { entryInputStream = jarFile.getInputStream(entry); FileUtils.copyInputStreamToFile(entryInputStream, new File(destination, fileName)); } catch (Exception e) { die("Failed to copy resource: " + fileName);
try { entryInputStream = jarFile.getInputStream(entry); FileUtils.copyInputStreamToFile(entryInputStream, new File(destination, fileName)); } catch (Exception e) { die("Failed to copy resource: " + fileName);
@Override public void download(URI uri, File toFile) { try { copyInputStreamToFile(downloader.newInputSupplier(uri, this.connectTimeout, this.readTimeout).getInput(), toFile); } catch (IOException e) { deleteQuietly(toFile); throw failToDownload(uri, e); } }
/*** * Download a S3 object to local directory * * @param s3ObjectSummary S3 object summary for the object to download * @param targetDirectory Local target directory to download the object to * @throws IOException If any errors were encountered in downloading the object */ public void downloadS3Object(S3ObjectSummary s3ObjectSummary, String targetDirectory) throws IOException { final AmazonS3 amazonS3 = getS3Client(); final GetObjectRequest getObjectRequest = new GetObjectRequest( s3ObjectSummary.getBucketName(), s3ObjectSummary.getKey()); final S3Object s3Object = amazonS3.getObject(getObjectRequest); final String targetFile = StringUtils.removeEnd(targetDirectory, File.separator) + File.separator + s3Object.getKey(); FileUtils.copyInputStreamToFile(s3Object.getObjectContent(), new File(targetFile)); LOGGER.info("S3 object downloaded to file: " + targetFile); }
/** * clean up and set up test directory */ private void setupTestDir() throws IOException { _testDirPath = _config.getString("gobblin.cluster.work.dir"); _jobDirPath = _config.getString(GobblinClusterConfigurationKeys.JOB_CONF_PATH_KEY); // clean up test directory and create job dir File testDir = new File(_testDirPath); File jobDir = new File(_jobDirPath); if (testDir.exists()) { FileUtils.deleteDirectory(testDir); } jobDir.mkdirs(); // copy job file from resource String jobFileName = GobblinClusterKillTest.class.getSimpleName() + "Job.conf"; try (InputStream resourceStream = this.getClass().getClassLoader().getResourceAsStream(jobFileName)) { if (resourceStream == null) { throw new RuntimeException("Could not find job resource " + jobFileName); } File targetFile = new File(_jobDirPath + "/" + jobFileName); FileUtils.copyInputStreamToFile(resourceStream, targetFile); } catch (IOException e) { throw new RuntimeException("Unable to load job resource " + jobFileName, e); } }
@SuppressWarnings("deprecation") @Override public ParameterValue createValue(CLICommand command, String value) throws IOException, InterruptedException { // capture the file to the server File local = File.createTempFile("jenkins","parameter"); String name; if (value.isEmpty()) { FileUtils.copyInputStreamToFile(command.stdin, local); name = "stdin"; } else { FilePath src = new FilePath(command.checkChannel(), value); src.copyTo(new FilePath(local)); name = src.getName(); } FileParameterValue p = new FileParameterValue(getName(), local, name); p.setDescription(getDescription()); p.setLocation(getName()); return p; } }
FileUtils.copyInputStreamToFile(stdin, f); if (dynamicLoad) { pm.dynamicLoad(f);
@Test public void runDemo() throws Exception{ ConfigurableApplicationContext ctx = new ClassPathXmlApplicationContext("META-INF/spring/integration/FtpOutboundChannelAdapterSample-context.xml"); MessageChannel ftpChannel = ctx.getBean("ftpChannel", MessageChannel.class); baseFolder.mkdirs(); final File fileToSendA = new File(baseFolder, "a.txt"); final File fileToSendB = new File(baseFolder, "b.txt"); final InputStream inputStreamA = FtpOutboundChannelAdapterSample.class.getResourceAsStream("/test-files/a.txt"); final InputStream inputStreamB = FtpOutboundChannelAdapterSample.class.getResourceAsStream("/test-files/b.txt"); FileUtils.copyInputStreamToFile(inputStreamA, fileToSendA); FileUtils.copyInputStreamToFile(inputStreamB, fileToSendB); assertTrue(fileToSendA.exists()); assertTrue(fileToSendB.exists()); final Message<File> messageA = MessageBuilder.withPayload(fileToSendA).build(); final Message<File> messageB = MessageBuilder.withPayload(fileToSendB).build(); ftpChannel.send(messageA); ftpChannel.send(messageB); Thread.sleep(2000); assertTrue(new File(TestSuite.FTP_ROOT_DIR + File.separator + "a.txt").exists()); assertTrue(new File(TestSuite.FTP_ROOT_DIR + File.separator + "b.txt").exists()); LOGGER.info("Successfully transferred file 'a.txt' and 'b.txt' to a remote FTP location."); ctx.close(); }
@BeforeClass public static void startServers() throws Exception { basedir = System.getProperty("basedir"); if (basedir == null) { basedir = new File(".").getCanonicalPath(); } // System.setProperty("sun.security.krb5.debug", "true"); System.setProperty("java.security.krb5.conf", new File(basedir + File.separator + "target" + File.separator + "krb5.conf").getCanonicalPath()); loginConfig = new File(basedir + File.separator + "target" + File.separator + "kerberos.jaas"); System.setProperty("java.security.auth.login.config", loginConfig.getCanonicalPath()); kerbyServer = new SimpleKdcServer(); kerbyServer.setKdcRealm("service.ws.apache.org"); kerbyServer.setAllowUdp(false); kerbyServer.setWorkDir(new File(basedir, "target")); //kerbyServer.setInnerKdcImpl(new NettyKdcServerImpl(kerbyServer.getKdcSetting())); kerbyServer.init(); // Create principals alice = "alice@service.ws.apache.org"; bob = "bob/service.ws.apache.org@service.ws.apache.org"; kerbyServer.createPrincipal(alice, "alice"); kerbyServer.createPrincipal(bob, "bob"); aliceKeytab = new File(basedir + File.separator + "target" + File.separator + "alice.keytab"); bobKeytab = new File(basedir + File.separator + "target" + File.separator + "bob.keytab"); kerbyServer.exportPrincipal(alice, aliceKeytab); kerbyServer.exportPrincipal(bob, bobKeytab); kerbyServer.start(); FileUtils.copyInputStreamToFile(SpnegoEngine.class.getResourceAsStream("/kerberos.jaas"), loginConfig); }
public static GoConfigHolder loadWithMigration(InputStream input, final ConfigElementImplementationRegistry registry) throws Exception { File tempFile = TestFileUtil.createTempFile("cruise-config.xml"); try { MagicalGoConfigXmlLoader xmlLoader = new MagicalGoConfigXmlLoader(new ConfigCache(), registry); FileUtils.copyInputStreamToFile(input, tempFile); migrate(tempFile); return xmlLoader.loadConfigHolder(FileUtils.readFileToString(tempFile, UTF_8)); } finally { FileUtils.deleteQuietly(tempFile); } }
private void testConversion(RestEntry<JsonObject> expected, WorkUnitState actualWorkUnitState) throws DataConversionException, IOException, JSONException { Schema schema = new Schema.Parser().parse(getClass().getResourceAsStream("/converter/nested.avsc")); GenericDatumReader<GenericRecord> datumReader = new GenericDatumReader<GenericRecord>(schema); File tmp = File.createTempFile(this.getClass().getSimpleName(), null); tmp.deleteOnExit(); try { FileUtils.copyInputStreamToFile(getClass().getResourceAsStream("/converter/nested.avro"), tmp); DataFileReader<GenericRecord> dataFileReader = new DataFileReader<GenericRecord>(tmp, datumReader); GenericRecord avroRecord = dataFileReader.next(); AvroToRestJsonEntryConverter converter = new AvroToRestJsonEntryConverter(); RestEntry<JsonObject> actual = converter.convertRecord(null, avroRecord, actualWorkUnitState).iterator().next(); Assert.assertEquals(actual.getResourcePath(), expected.getResourcePath()); JSONAssert.assertEquals(expected.getRestEntryVal().toString(), actual.getRestEntryVal().toString(), false); converter.close(); dataFileReader.close(); } finally { if (tmp != null) { tmp.delete(); } } } }