List of usage examples for org.apache.commons.net.ftp FTPClient storeFile
public boolean storeFile(String remote, InputStream local) throws IOException
From source file:s32a.FTPTest.java
public FTPTest() { FTPClient client = new FTPSClient(false); FileInputStream fis = null;//from ww w. ja v a 2s. c o m FileOutputStream fos = null; try { System.out.println("connecting"); client.connect("athena.fhict.nl"); boolean login = client.login("i293443", "ifvr2edfh101"); System.out.println("login: " + login); client.enterLocalPassiveMode(); System.out.println("connected: " + client.isConnected() + ", available: " + client.isAvailable()); client.setFileType(FTP.ASCII_FILE_TYPE); // // Create an InputStream of the file to be uploaded // String filename = ".gitattributes"; File file = new File(filename); file.createNewFile(); System.out.println(file.length()); fis = new FileInputStream(file.getAbsolutePath()); client.makeDirectory("/Airhockey/Codebase/test"); client.makeDirectory("\\Airhockey\\Codebase\\testey"); // // Store file to server // String desiredName = "s32a\\Server\\.gitattributes"; System.out.println("storefile: " + file.getAbsolutePath() + " - " + client.storeFile("/Airhockey/" + desiredName, fis)); System.out.println("file stored"); // File output = new File("colors.json"); // fos = new FileOutputStream(output.getAbsolutePath()); // client.retrieveFile("/colors.json", fos); client.logout(); } catch (IOException e) { e.printStackTrace(); } catch (Exception ex) { System.out.println("exception caught: " + ex.getMessage()); } finally { try { if (fis != null) { fis.close(); } if (fos != null) { fos.close(); } client.disconnect(); System.exit(0); } catch (IOException e) { e.printStackTrace(); } } }
From source file:s32a.Server.Startup.FTPHandler.java
/** * Registers//w w w . j a v a 2 s .c o m * * @param input The server info to be registered * @return The url that should be used as java for codebase purposes */ public String registerServer(ServerInfo input) { File infoFile = this.saveInfoToFile(input); if (infoFile == null || infoFile.length() == 0) { showDialog("Error", "No file to store: " + infoFile.getAbsolutePath()); //System.out.println("No file to store: " + infoFile.getAbsolutePath()); return null; } FTPClient client = null; FileInputStream fis = null; FileOutputStream fos = null; String output = null; if (SSL) { client = new FTPSClient(false); } else { client = new FTPClient(); } try { System.out.println("connecting"); client.connect(ftpServer); boolean login = client.login(this.username, this.password); System.out.println("login: " + login); client.enterLocalPassiveMode(); fis = new FileInputStream(infoFile); this.ftpRefLocation = "/Airhockey/Servers/" + input.getIP() + "-" + input.getBindingName() + ".server"; client.storeFile(this.ftpRefLocation, fis); File codebase = new File("codebase.properties"); fos = new FileOutputStream(codebase.getAbsolutePath()); client.retrieveFile("/Airhockey/Codebase/codebase.properties", fos); fos.close(); output = this.readCodebaseInfo(codebase); client.logout(); } catch (IOException ex) { showDialog("Error", "FTP: IOException " + ex.getMessage()); // System.out.println("IOException: " + ex.getMessage()); // ex.printStackTrace(); } catch (Exception ex) { showDialog("Error", "FTP: Exception: " + ex.getMessage()); //System.out.println("exception caught: " + ex.getMessage()); } finally { try { if (fis != null) { fis.close(); } if (fos != null) { fos.close(); } client.disconnect(); infoFile.delete(); } catch (IOException e) { e.printStackTrace(); } } return output; }
From source file:se.natusoft.maven.plugin.ftp.FTPMojo.java
/** * Executes the mojo.//from www . j a v a 2 s.c o m * * @throws MojoExecutionException */ public void execute() throws MojoExecutionException { FTPClient ftpClient = new FTPClient(); try { ftpClient.connect(this.targetHost, this.targetPort); if (!ftpClient.login(this.userName, this.password)) { throw new MojoExecutionException("Failed to login user '" + this.userName + "'!"); } this.getLog() .info("FTP: Connected to '" + this.targetHost + ":" + this.targetPort + "':" + this.targetPath); ftpClient.setFileTransferMode(FTP.COMPRESSED_TRANSFER_MODE); ftpClient.setBufferSize(1024 * 60); SourcePaths sourcePaths = new SourcePaths(new File(this.baseDir), this.files); this.getLog().info("Files to upload: " + sourcePaths.getSourceFiles().size()); int fileNo = 0; for (File transferFile : sourcePaths.getSourceFiles()) { String relPath = this.targetPath + transferFile.getParentFile().getAbsolutePath().substring(this.baseDir.length()); boolean havePath = ftpClient.changeWorkingDirectory(relPath); if (!havePath) { if (!mkdir(ftpClient, relPath)) { throw new MojoExecutionException("Failed to create directory '" + relPath + "'!"); } if (!ftpClient.changeWorkingDirectory(relPath)) { throw new MojoExecutionException( "Failed to change to '" + relPath + "' after its been created OK!"); } } FileInputStream sendFileStream = new FileInputStream(transferFile); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); ftpClient.storeFile(transferFile.getName(), sendFileStream); sendFileStream.close(); this.getLog().info( "Transferred [" + ++fileNo + "]: " + relPath + File.separator + transferFile.getName()); } this.getLog().info("All files transferred!"); } catch (IOException ioe) { throw new MojoExecutionException(ioe.getMessage(), ioe); } finally { try { ftpClient.disconnect(); } catch (IOException ioe) { this.getLog().error("Failed to disconnect from FTP site! [" + ioe.getMessage() + "]", ioe); } } }
From source file:se.vgregion.webbisar.helpers.FileHandler.java
public void writeTempFile(String fileName, String sessionId, InputStream is) throws FTPException { FTPClient ftp = connect(); try {/* w w w. ja va 2s . co m*/ ftp.makeDirectory("temp"); ftp.changeWorkingDirectory("temp"); ftp.makeDirectory(sessionId); ftp.changeWorkingDirectory(sessionId); ftp.storeFile(fileName, is); ftp.logout(); } catch (IOException e) { LOGGER.error("Could not write tempfile " + fileName, e); } finally { try { ftp.disconnect(); } catch (IOException e) { // Empty... } } }
From source file:smilehouse.opensyncro.defaultcomponents.ftp.FTPDestination.java
public void take(String data, DestinationInfo info, MessageLogger logger) throws FailTransferException, AbortTransferException { FTPClient ftp = new FTPClient(); try {/*from w w w . j a v a2 s . c o m*/ // ----------------- // Try to connect... // ----------------- String host = this.data.getAttribute(HOST_ATTR); int port = -1; String portStr = this.data.getAttribute(PORT_ATTR); if (portStr != null && portStr.length() > 0) { try { port = Integer.parseInt(portStr); } catch (NumberFormatException nfe) { logger.logMessage("Invalid value '" + portStr + "' for port.", this, MessageLogger.ERROR); PipeComponentUtils.failTransfer(); } } int reply; try { if (port != -1) { ftp.connect(host, port); } else { ftp.connect(host); } } catch (SocketException e) { logger.logMessage("SocketException while connecting to host " + host + ", aborting", this, MessageLogger.ERROR); PipeComponentUtils.failTransfer(); } catch (IOException e) { logger.logMessage("IOException while connecting to host " + host + ", aborting", this, MessageLogger.ERROR); PipeComponentUtils.failTransfer(); } // After connection attempt, you should check the reply code to verify // success. reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { try { ftp.disconnect(); } catch (IOException e) { /** * ftp.disconnect() is called only as additional clean-up here, so we choose to * ignore possible exceptions */ } logger.logMessage("Couldn't connect to the FTP server: " + ftp.getReplyString(), this, MessageLogger.ERROR); PipeComponentUtils.failTransfer(); } // ----------- // Then log in // ----------- try { if (!ftp.login(this.data.getAttribute(USER_ATTR), this.data.getAttribute(PASSWORD_ATTR))) { logger.logMessage("Could not log in, check your username and password settings.", this, MessageLogger.ERROR); ftp.logout(); PipeComponentUtils.failTransfer(); } } catch (IOException e) { logger.logMessage("IOException while logging in to FTP server", this, MessageLogger.ERROR); PipeComponentUtils.failTransfer(); } // Use passive mode ftp.enterLocalPassiveMode(); // ----------------- // ASCII or binary ? // ----------------- boolean fileTypeSetOk = false; try { switch (getFileType()) { case FILE_TYPE_ASCII: fileTypeSetOk = ftp.setFileType(FTP.ASCII_FILE_TYPE); break; case FILE_TYPE_BINARY: fileTypeSetOk = ftp.setFileType(FTP.BINARY_FILE_TYPE); } if (!fileTypeSetOk) { logger.logMessage("Could not set file type: " + ftp.getReplyString(), this, MessageLogger.WARNING); } } catch (IOException e) { logger.logMessage("IOException while setting file transfer type parameter", this, MessageLogger.ERROR); PipeComponentUtils.failTransfer(); } // ------------- // Send the data // ------------- String fileName = getFileName(); logger.logMessage("Storing file: " + fileName, this, MessageLogger.DEBUG); String charSet = this.data.getAttribute(CHARSET_ATTR); if (charSet == null || charSet.length() == 0) charSet = DEFAULT_CHARSET; InputStream dataStream = null; try { dataStream = new ByteArrayInputStream(data.getBytes(charSet)); } catch (UnsupportedEncodingException e1) { logger.logMessage(charSet + " charset not supported", this, MessageLogger.ERROR); PipeComponentUtils.failTransfer(); } try { if (!ftp.storeFile(fileName, dataStream)) { logger.logMessage("Could not store file '" + fileName + "': " + ftp.getReplyString(), this, MessageLogger.ERROR); PipeComponentUtils.failTransfer(); } } catch (IOException e) { logger.logMessage("IOException while uploading the file to FTP server", this, MessageLogger.ERROR); PipeComponentUtils.failTransfer(); } } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException f) { // do nothing } } } }
From source file:testing.FTPClientExample.java
public static final void main(String[] args) { boolean storeFile = false, binaryTransfer = false, error = false, listFiles = false, listNames = false, hidden = false;//from w ww . jav a 2s. co m boolean localActive = false, useEpsvWithIPv4 = false, feat = false, printHash = false; boolean mlst = false, mlsd = false; boolean lenient = false; long keepAliveTimeout = -1; int controlKeepAliveReplyTimeout = -1; int minParams = 5; // listings require 3 params String protocol = null; // SSL protocol String doCommand = null; String trustmgr = null; String proxyHost = null; int proxyPort = 80; String proxyUser = null; String proxyPassword = null; args = new String[100]; args[0] = "-d"; args[1] = "localhost"; args[2] = "adminroot"; args[3] = "adminroot"; args[4] = "RSAPrivate.key"; args[5] = ".\\FTPServer2\\RSAPrivate.key"; int base = 0; OUTER: for (base = 0; base < args.length; base++) { switch (args[base]) { case "-s": storeFile = true; break; case "-a": localActive = true; break; case "-b": binaryTransfer = true; break; case "-c": doCommand = args[++base]; minParams = 3; break; case "-d": mlsd = true; minParams = 3; break; case "-e": useEpsvWithIPv4 = true; break; case "-f": feat = true; minParams = 3; break; case "-h": hidden = true; break; case "-k": keepAliveTimeout = Long.parseLong(args[++base]); break; case "-l": listFiles = true; minParams = 3; break; case "-L": lenient = true; break; case "-n": listNames = true; minParams = 3; break; case "-p": protocol = args[++base]; break; case "-t": mlst = true; minParams = 3; break; case "-w": controlKeepAliveReplyTimeout = Integer.parseInt(args[++base]); break; case "-T": trustmgr = args[++base]; break; case "-PrH": proxyHost = args[++base]; String parts[] = proxyHost.split(":"); if (parts.length == 2) { proxyHost = parts[0]; proxyPort = Integer.parseInt(parts[1]); } break; case "-PrU": proxyUser = args[++base]; break; case "-PrP": proxyPassword = args[++base]; break; case "-#": printHash = true; break; default: break OUTER; } } int remain = args.length - base; if (remain < minParams) // server, user, pass, remote, local [protocol] { System.err.println(USAGE); System.exit(1); } String server = args[base++]; int port = 0; String parts[] = server.split(":"); if (parts.length == 2) { server = parts[0]; port = Integer.parseInt(parts[1]); } String username = args[base++]; String password = args[base++]; String remote = null; if (args.length - base > 0) { remote = args[base++]; } String local = null; if (args.length - base > 0) { local = args[base++]; } final FTPClient ftp; if (protocol == null) { if (proxyHost != null) { System.out.println("Using HTTP proxy server: " + proxyHost); ftp = new FTPHTTPClient(proxyHost, proxyPort, proxyUser, proxyPassword); } else { ftp = new FTPClient(); } } else { FTPSClient ftps; if (protocol.equals("true")) { ftps = new FTPSClient(true); } else if (protocol.equals("false")) { ftps = new FTPSClient(false); } else { String prot[] = protocol.split(","); if (prot.length == 1) { // Just protocol ftps = new FTPSClient(protocol); } else { // protocol,true|false ftps = new FTPSClient(prot[0], Boolean.parseBoolean(prot[1])); } } ftp = ftps; if ("all".equals(trustmgr)) { ftps.setTrustManager(TrustManagerUtils.getAcceptAllTrustManager()); } else if ("valid".equals(trustmgr)) { ftps.setTrustManager(TrustManagerUtils.getValidateServerCertificateTrustManager()); } else if ("none".equals(trustmgr)) { ftps.setTrustManager(null); } } if (printHash) { ftp.setCopyStreamListener(createListener()); } if (keepAliveTimeout >= 0) { ftp.setControlKeepAliveTimeout(keepAliveTimeout); } if (controlKeepAliveReplyTimeout >= 0) { ftp.setControlKeepAliveReplyTimeout(controlKeepAliveReplyTimeout); } ftp.setListHiddenFiles(hidden); // suppress login details ftp.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); try { int reply; if (port > 0) { ftp.connect(server, port); } else { ftp.connect(server); } System.out.println("Connected to " + server + " on " + (port > 0 ? port : ftp.getDefaultPort())); // After connection attempt, you should check the reply code to verify // success. reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); System.err.println("FTP server refused connection."); System.exit(1); } } catch (IOException e) { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException f) { // do nothing } } System.err.println("Could not connect to server."); e.printStackTrace(); System.exit(1); } __main: try { if (!ftp.login(username, password)) { ftp.logout(); error = true; break __main; } System.out.println("Remote system is " + ftp.getSystemType()); if (binaryTransfer) { ftp.setFileType(FTP.BINARY_FILE_TYPE); } // Use passive mode as default because most of us are // behind firewalls these days. if (localActive) { ftp.enterLocalActiveMode(); } else { ftp.enterLocalPassiveMode(); } ftp.setUseEPSVwithIPv4(useEpsvWithIPv4); if (storeFile) { InputStream input; input = new FileInputStream(local); ftp.storeFile(remote, input); input.close(); } else if (listFiles) { if (lenient) { FTPClientConfig config = new FTPClientConfig(); config.setLenientFutureDates(true); ftp.configure(config); } for (FTPFile f : ftp.listFiles(remote)) { System.out.println(f.getRawListing()); System.out.println(f.toFormattedString()); } } else if (mlsd) { for (FTPFile f : ftp.mlistDir(remote)) { System.out.println(f.getRawListing()); System.out.println(f.toFormattedString()); } } else if (mlst) { FTPFile f = ftp.mlistFile(remote); if (f != null) { System.out.println(f.toFormattedString()); } } else if (listNames) { for (String s : ftp.listNames(remote)) { System.out.println(s); } } else if (feat) { // boolean feature check if (remote != null) { // See if the command is present if (ftp.hasFeature(remote)) { System.out.println("Has feature: " + remote); } else { if (FTPReply.isPositiveCompletion(ftp.getReplyCode())) { System.out.println("FEAT " + remote + " was not detected"); } else { System.out.println("Command failed: " + ftp.getReplyString()); } } // Strings feature check String[] features = ftp.featureValues(remote); if (features != null) { for (String f : features) { System.out.println("FEAT " + remote + "=" + f + "."); } } else { if (FTPReply.isPositiveCompletion(ftp.getReplyCode())) { System.out.println("FEAT " + remote + " is not present"); } else { System.out.println("Command failed: " + ftp.getReplyString()); } } } else { if (ftp.features()) { // Command listener has already printed the output } else { System.out.println("Failed: " + ftp.getReplyString()); } } } else if (doCommand != null) { if (ftp.doCommand(doCommand, remote)) { // Command listener has already printed the output // for(String s : ftp.getReplyStrings()) { // System.out.println(s); // } } else { System.out.println("Failed: " + ftp.getReplyString()); } } else { OutputStream output; output = new FileOutputStream(local); ftp.retrieveFile(remote, output); output.close(); } ftp.noop(); // check that control connection is working OK ftp.logout(); } catch (FTPConnectionClosedException e) { error = true; System.err.println("Server closed connection."); e.printStackTrace(); } catch (IOException e) { error = true; e.printStackTrace(); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException f) { // do nothing } } } System.exit(error ? 1 : 0); }
From source file:TrabajoFinalJava.subirFicheros.java
@Override public void run() { // Creando nuestro objeto ClienteFTP FTPClient client = new FTPClient(); // Datos para conectar al servidor FTP String ftpServer = "127.0.0.1"; String userFtp = "solera"; String ftpPass = "solera"; try {/* w ww. ja v a 2 s .c o m*/ // Conactando al servidor client.connect(ftpServer); // Logueado un usuario (true = pudo conectarse, false = no pudo // conectarse) boolean login = client.login(userFtp, ftpPass); //client.setFileType(ftpServer.BINARY_FILE_TYPE, FTP.BINARY_FILE_TYPE); // client.setFileTransferMode(ftpServer.BINARY_FILE_TYPE); client.enterLocalPassiveMode(); String filename = "miarchivo.txt"; FileInputStream fis = new FileInputStream(filename); // Guardando el archivo en el servidor client.storeFile(filename, fis); // Cerrando sesin client.logout(); // Desconectandose con el servidor client.disconnect(); } catch (IOException ioe) { System.out.println(ioe.getMessage()); } }
From source file:tufts.oki.dr.fedora.DR.java
public osid.shared.Id ingest(String fileName, String templateFileName, String fileType, File file, Properties properties) throws osid.dr.DigitalRepositoryException, java.net.SocketException, java.io.IOException, osid.shared.SharedException, javax.xml.rpc.ServiceException { long sTime = System.currentTimeMillis(); if (DEBUG)/*from w ww .ja v a2s . co m*/ System.out .println("INGESTING FILE TO FEDORA:fileName =" + fileName + "fileType =" + fileType + "t = 0"); // this part transfers file to a ftp server. this is required since the content management part of fedora server needs object to be on web server String host = FedoraUtils.getFedoraProperty(this, "admin.ftp.address"); String url = FedoraUtils.getFedoraProperty(this, "admin.ftp.url"); int port = Integer.parseInt(FedoraUtils.getFedoraProperty(this, "admin.ftp.port")); String userName = FedoraUtils.getFedoraProperty(this, "admin.ftp.username"); String password = FedoraUtils.getFedoraProperty(this, "admin.ftp.password"); String directory = FedoraUtils.getFedoraProperty(this, "admin.ftp.directory"); FTPClient client = new FTPClient(); client.connect(host, port); client.login(userName, password); client.changeWorkingDirectory(directory); client.setFileType(FTP.BINARY_FILE_TYPE); client.storeFile(fileName, new FileInputStream(file.getAbsolutePath().replaceAll("%20", " "))); client.logout(); client.disconnect(); if (DEBUG) System.out.println( "INGESTING FILE TO FEDORA: Writting to FTP Server:" + (System.currentTimeMillis() - sTime)); fileName = url + fileName; // this part does the creation of METSFile int BUFFER_SIZE = 10240; StringBuffer sb = new StringBuffer(); String s = new String(); BufferedInputStream fis = new BufferedInputStream( new FileInputStream(new File(getResource(templateFileName).getFile().replaceAll("%20", " ")))); //FileInputStream fis = new FileInputStream(new File(templateFileName)); //DataInputStream in = new DataInputStream(fis); byte[] buf = new byte[BUFFER_SIZE]; int ch; int len; while ((len = fis.read(buf)) > 0) { s = s + new String(buf); } fis.close(); if (DEBUG) System.out.println("INGESTING FILE TO FEDORA: Read Mets File:" + (System.currentTimeMillis() - sTime)); //in.close(); // s = sb.toString(); //String r = s.replaceAll("%file.location%", fileName).trim(); String r = updateMetadata(s, fileName, file.getName(), fileType, properties); if (DEBUG) System.out.println( "INGESTING FILE TO FEDORA: Resplaced Metadata:" + (System.currentTimeMillis() - sTime)); //writing the to outputfile File METSfile = File.createTempFile("vueMETSMap", ".xml"); FileOutputStream fos = new FileOutputStream(METSfile); fos.write(r.getBytes()); fos.close(); // AutoIngestor a = new AutoIngestor(address.getHost(), address.getPort(),FedoraUtils.getFedoraProperty(this,"admin.fedora.username"),FedoraUtils.getFedoraProperty(this,"admin.fedora.username")); //THIS WILL NOT WORK IN NEWER VERSION OF FEDORA // String pid = AutoIngestor.ingestAndCommit(new FileInputStream(METSfile),"foxml1.","Test Ingest"); if (DEBUG) System.out.println("INGESTING FILE TO FEDORA: Ingest complete:" + (System.currentTimeMillis() - sTime)); String pid = "Method Not Supported any more"; System.out.println(" METSfile= " + METSfile.getPath() + " PID = " + pid); return new PID(pid); }
From source file:ucar.unidata.idv.ui.ImageGenerator.java
/** * Do an FTP put of the given bytes/*from ww w . ja v a 2s . c o m*/ * * @param server server * @param userName user name on server * @param password password on server * @param destination Where to put the bytes * @param bytes The bytes * * @throws Exception On badness */ public static void ftpPut(String server, String userName, String password, String destination, byte[] bytes) throws Exception { FTPClient f = new FTPClient(); f.connect(server); f.login(userName, password); f.setFileType(FTP.BINARY_FILE_TYPE); f.enterLocalPassiveMode(); checkFtp(f, "Connecting to ftp server"); f.storeFile(destination, new ByteArrayInputStream(bytes)); checkFtp(f, "Storing file"); f.logout(); f.disconnect(); }
From source file:uk.ac.bbsrc.tgac.miso.core.util.TransmissionUtils.java
public static boolean ftpPut(FTPClient ftp, String path, List<File> files, boolean autoLogout, boolean autoMkdir) throws IOException { boolean error = false; FileInputStream fis = null;/*from w w w. j av a 2 s. c om*/ try { if (ftp == null || !ftp.isConnected()) { error = true; throw new IOException( "FTP client isn't connected. Please supply a client that has connected to the host."); } if (path != null) { if (autoMkdir) { if (!ftp.makeDirectory(path)) { error = true; throw new IOException("Cannot create desired path on the server."); } } if (!ftp.changeWorkingDirectory(path)) { error = true; throw new IOException("Desired path does not exist on the server"); } } log.info("All OK - transmitting " + files.size() + " file(s)"); for (File f : files) { fis = new FileInputStream(f); if (!ftp.storeFile(f.getName(), fis)) { error = true; log.error("Error storing file: " + f.getName()); } boolean success = FTPReply.isPositiveCompletion(ftp.getReplyCode()); if (!success) { error = true; log.error("Error storing file: " + f.getName() + " (" + success + ")"); } } if (autoLogout) { ftp.logout(); } } catch (IOException e) { error = true; log.error("ftp", e); } finally { try { if (fis != null) { fis.close(); } if (autoLogout) { if (ftp != null && ftp.isConnected()) { ftp.disconnect(); } } } catch (IOException ioe) { log.error("ftp", ioe); } } // return inverse error boolean, just to make downstream conditionals easier return !error; }