List of usage examples for org.apache.commons.net.ftp FTP ASCII_FILE_TYPE
int ASCII_FILE_TYPE
To view the source code for org.apache.commons.net.ftp FTP ASCII_FILE_TYPE.
Click Source Link
From source file:de.quadrillenschule.azocamsyncd.ftpservice.FTPConnection.java
public void deleteFiles(int remainingNumber, LocalStorage localStorage) { if (remainingNumber < 0) { return;//from w ww . j av a2s . c om } if (ftpclient != null) { close(); } ftpclient = new FTPClient(); ftpclient.setDefaultTimeout(TIMEOUT); try { ftpclient.connect(getLastWorkingConnection()); LinkedList<AZoFTPFile> afs = discoverRemoteFiles("/", false); int todelete = afs.size() - remainingNumber; if (todelete > 0) { notify(FTPConnectionStatus.DELETING_FILES, "", -1); int i = 0; Collections.sort(afs, new Comparator<AZoFTPFile>() { @Override public int compare(AZoFTPFile o1, AZoFTPFile o2) { return o1.ftpFile.getTimestamp().compareTo(o2.ftpFile.getTimestamp()); } }); close(); LinkedList<String> deleteables = new LinkedList(); for (AZoFTPFile af : afs) { i++; if (localStorage.isFileSynced(af)) { // deleteSingleFile(lastWorkingConnection) deleteables.add((af.dir + af.ftpFile.getName())); // System.out.println("Would delete"+af.ftpFile.getName()); } if (i >= todelete) { break; } } simplyConnect(FTP.ASCII_FILE_TYPE); for (String s : deleteables) { ftpclient.deleteFile(s); } // remountSD(deleteables); notify(FTPConnectionStatus.SUCCESS, "", -1); } else { close(); } } catch (IOException ex) { close(); } close(); }
From source file:com.o6Systems.utils.net.FTPModule.java
private int executeFtpCommand(String[] args) throws UnknownHostException { boolean storeFile = false, binaryTransfer = false, error = false, listFiles = false, listNames = false, hidden = false;/* w w w .j a va 2s . c o 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; String username = null; String password = null; int base = 0; // Print the command System.out.println("----------FTP MODULE CALL----------"); for (int i = 0; i < args.length; i++) { System.out.println(args[i]); } System.out.println("--------------------"); // for (base = 0; base < args.length; base++) { if (args[base].equals("-s")) { storeFile = true; } else if (args[base].equals("-a")) { localActive = true; } else if (args[base].equals("-A")) { username = "anonymous"; password = System.getProperty("user.name") + "@" + InetAddress.getLocalHost().getHostName(); } else if (args[base].equals("-b")) { binaryTransfer = true; } else if (args[base].equals("-c")) { doCommand = args[++base]; minParams = 3; } else if (args[base].equals("-d")) { mlsd = true; minParams = 3; } else if (args[base].equals("-e")) { useEpsvWithIPv4 = true; } else if (args[base].equals("-f")) { feat = true; minParams = 3; } else if (args[base].equals("-h")) { hidden = true; } else if (args[base].equals("-k")) { keepAliveTimeout = Long.parseLong(args[++base]); } else if (args[base].equals("-l")) { listFiles = true; minParams = 3; } else if (args[base].equals("-L")) { lenient = true; } else if (args[base].equals("-n")) { listNames = true; minParams = 3; } else if (args[base].equals("-p")) { protocol = args[++base]; } else if (args[base].equals("-t")) { mlst = true; minParams = 3; } else if (args[base].equals("-w")) { controlKeepAliveReplyTimeout = Integer.parseInt(args[++base]); } else if (args[base].equals("-T")) { trustmgr = args[++base]; } else if (args[base].equals("-PrH")) { proxyHost = args[++base]; String parts[] = proxyHost.split(":"); if (parts.length == 2) { proxyHost = parts[0]; proxyPort = Integer.parseInt(parts[1]); } } else if (args[base].equals("-PrU")) { proxyUser = args[++base]; } else if (args[base].equals("-PrP")) { proxyPassword = args[++base]; } else if (args[base].equals("-#")) { printHash = true; } else { break; } } int remain = args.length - base; if (username != null) { minParams -= 2; } String server = args[base++]; int port = 0; String parts[] = server.split(":"); if (parts.length == 2) { server = parts[0]; port = Integer.parseInt(parts[1]); } if (username == null) { username = args[base++]; 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."); return 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(); return 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); } else { // in theory this should not be necessary as servers should default to ASCII // but they don't all do so - see NET-500 ftp.setFileType(FTP.ASCII_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 } } } return error ? 1 : 0; }
From source file:edu.stanford.epad.common.util.FTPUtil.java
public boolean sendFile(String filePath, boolean delete) throws Exception { String fileName = filePath;/*from w w w .j av a 2 s .c om*/ int slash = fileName.lastIndexOf("/"); if (slash != -1) fileName = fileName.substring(slash + 1); slash = fileName.lastIndexOf("\\"); if (slash != -1) fileName = fileName.substring(slash + 1); boolean success = true; FTPClient ftp = new FTPClient(); try { ftp.connect(ftpHost, ftpPort); int reply = ftp.getReplyCode(); if (FTPReply.isPositiveCompletion(reply)) { if (ftp.login(ftpUser, ftpPassword)) { if (ftpFolder != null && ftpFolder.trim().length() > 0) { ftp.cwd(ftpFolder); System.out.print("ftp cd: " + ftp.getReplyString()); } ftp.setFileType(FTP.ASCII_FILE_TYPE); FileInputStream in = new FileInputStream(filePath); success = ftp.storeFile(fileName, in); in.close(); if (delete) { File file = new File(filePath); file.delete(); } } else success = false; } } finally { ftp.disconnect(); } return success; }
From source file:ch.sdi.core.impl.ftp.FTPClientExample.java
/** * *///from w w w . j a v a2s. com private void run() throws Throwable { if (myProtocol == null) { if (myProxyHost != null) { myLog.debug("Using HTTP proxy server: " + myProxyHost); myFtp = new FTPHTTPClient(myProxyHost, myProxyPort, myProxyUser, myProxyPassword); } else { myFtp = new FTPClient(); } } else { FTPSClient ftps; if (myProtocol.equals("true")) { ftps = new FTPSClient(true); } else if (myProtocol.equals("false")) { ftps = new FTPSClient(false); } else { String prot[] = myProtocol.split(","); if (prot.length == 1) { // Just protocol ftps = new FTPSClient(myProtocol); } else { // protocol,true|false ftps = new FTPSClient(prot[0], Boolean.parseBoolean(prot[1])); } } myFtp = ftps; if ("all".equals(myTrustmgr)) { ftps.setTrustManager(TrustManagerUtils.getAcceptAllTrustManager()); } else if ("valid".equals(myTrustmgr)) { ftps.setTrustManager(TrustManagerUtils.getValidateServerCertificateTrustManager()); } else if ("none".equals(myTrustmgr)) { ftps.setTrustManager(null); } } if (myPrintHash) { myFtp.setCopyStreamListener(createListener()); } if (myKeepAliveTimeout >= 0) { myFtp.setControlKeepAliveTimeout(myKeepAliveTimeout); } if (myControlKeepAliveReplyTimeout >= 0) { myFtp.setControlKeepAliveReplyTimeout(myControlKeepAliveReplyTimeout); } myFtp.setListHiddenFiles(myHidden); // intercept commands and write it to our logger myPrintCommandToLoggerListener = new PrintCommandToLoggerListener(myLog); PrintWriter writer = myPrintCommandToLoggerListener.getPrintWriter(); myFtp.addProtocolCommandListener(new PrintCommandListener(writer, true, '\n', true)); // myFtp.addProtocolCommandListener( new PrintCommandListener( new PrintWriter( System.out ), true ) ); try { int reply; if (myPort > 0) { myFtp.connect(myServer, myPort); } else { myFtp.connect(myServer); } myLog.debug("Connected to " + myServer + " on " + (myPort > 0 ? myPort : myFtp.getDefaultPort())); // After connection attempt, you should check the reply code to verify // success. reply = myFtp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { myFtp.disconnect(); throw new Exception("FTP server refused connection."); } } catch (IOException e) { if (myFtp.isConnected()) { try { myFtp.disconnect(); } catch (IOException f) { // do nothing } } throw new Exception("Could not connect to server.", e); } try { if (!myFtp.login(myUsername, myPassword)) { myFtp.logout(); throw createFtpException("Problems on login"); } myLog.debug("Remote system is " + myFtp.getSystemType()); if (myBinaryTransfer) { myFtp.setFileType(FTP.BINARY_FILE_TYPE); } else { // in theory this should not be necessary as servers should default to ASCII // but they don't all do so - see NET-500 myFtp.setFileType(FTP.ASCII_FILE_TYPE); } // Use passive mode as default because most of us are // behind firewalls these days. if (myLocalActive) { myFtp.enterLocalActiveMode(); } else { myFtp.enterLocalPassiveMode(); } myFtp.setUseEPSVwithIPv4(myUseEpsvWithIPv4); if (myStoreFile) { InputStream input; input = new FileInputStream(myLocal); myFtp.storeFile(myRemote, input); input.close(); } else if (myListFiles) { if (myLenient) { FTPClientConfig config = new FTPClientConfig(); config.setLenientFutureDates(true); myFtp.configure(config); } for (FTPFile f : myFtp.listFiles(myRemote)) { myLog.debug(f.getRawListing()); myLog.debug(f.toFormattedString()); } } else if (myMlsd) { for (FTPFile f : myFtp.mlistDir(myRemote)) { myLog.debug(f.getRawListing()); myLog.debug(f.toFormattedString()); } } else if (myMlst) { FTPFile f = myFtp.mlistFile(myRemote); if (f != null) { myLog.debug(f.toFormattedString()); } } else if (myListNames) { for (String s : myFtp.listNames(myRemote)) { myLog.debug(s); } } else if (myFeat) { // boolean feature check if (myRemote != null) { // See if the command is present if (myFtp.hasFeature(myRemote)) { myLog.debug("Has feature: " + myRemote); } else { if (FTPReply.isPositiveCompletion(myFtp.getReplyCode())) { myLog.debug("FEAT " + myRemote + " was not detected"); } else { throw createFtpException("Command failed"); } } // Strings feature check String[] features = myFtp.featureValues(myRemote); if (features != null) { for (String f : features) { myLog.debug("FEAT " + myRemote + "=" + f + "."); } } else { if (FTPReply.isPositiveCompletion(myFtp.getReplyCode())) { myLog.warn("FEAT " + myRemote + " is not present"); } else { throw createFtpException("Command failed"); } } } else { if (myFtp.features()) { // Command listener has already printed the output } else { throw createFtpException("Command failed"); } } } else if (myDoCommand != null) { if (myFtp.doCommand(myDoCommand, myRemote)) { // Command listener has already printed the output } else { throw createFtpException("Command failed"); } } else { OutputStream output; output = new FileOutputStream(myLocal); myFtp.retrieveFile(myRemote, output); output.close(); } myFtp.noop(); // check that control connection is working OK myFtp.logout(); } catch (FTPConnectionClosedException e) { throw createFtpException("Server closed connection."); } catch (IOException e) { throw createFtpException("IOException caught"); } finally { myPrintCommandToLoggerListener.flushRest(); if (myFtp.isConnected()) { try { myFtp.disconnect(); } catch (IOException f) { // do nothing } } } }
From source file:com.sos.VirtualFileSystem.FTP.SOSVfsFtp.java
/** * Using ASCII mode for file transfers/*from w ww . j av a 2s . c om*/ * @return True if successfully completed, false if not. * @throws IOException If an I/O error occurs while either sending a * command to the server or receiving a reply from the server. */ @Override public void ascii() { final String conMethodName = conClassName + "::ascii"; try { boolean flgResult = Client().setFileType(FTP.ASCII_FILE_TYPE); if (flgResult == false) { throw new JobSchedulerException(SOSVfs_E_149.params(getReplyString())); } } catch (IOException e) { RaiseException(e, HostID(SOSVfs_E_0105.params(conMethodName))); } }
From source file:com.sos.VirtualFileSystem.FTP.SOSVfsFtpBaseClass.java
/** * Using ASCII mode for file transfers/* w w w . j a v a 2s . c om*/ * @return True if successfully completed, false if not. * @throws IOException If an I/O error occurs while either sending a * command to the server or receiving a reply from the server. */ @Override public void ascii() { try { boolean flgResult = Client().setFileType(FTP.ASCII_FILE_TYPE); if (flgResult == false) { throw new JobSchedulerException(SOSVfs_E_149.params(getReplyString())); } } catch (IOException e) { throw new JobSchedulerException(SOSVfs_E_130.params("ascii", e)); } }
From source file:network.FtpLogs.java
private void sendFiles() throws SocketException, IOException { ftpClient.connect(server, port);/*from w w w . ja v a 2s. c om*/ Log.println("Connected to " + server + "."); Log.print(ftpClient.getReplyString()); int reply = ftpClient.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftpClient.disconnect(); Log.println("FTP server refused connection."); } else { ftpClient.login(user, pass); Log.println("Logging in.."); Log.print(ftpClient.getReplyString()); ftpClient.enterLocalPassiveMode(); ftpClient.setControlKeepAliveTimeout(300); // set timeout to 5 minutes. Send NOOPs to keep control channel alive ftpClient.setFileType(FTP.ASCII_FILE_TYPE); /** * This is currently disabled because the payload store changed. We probablly only want to send for one * satellite as this is only used for debugging * sendFile(PayloadStore.RT_LOG); sendFile(PayloadStore.MAX_LOG); sendFile(PayloadStore.MIN_LOG); sendFile(PayloadStore.RAD_LOG); */ ftpClient.disconnect(); } }
From source file:onl.area51.filesystem.ftp.client.DefaultFTPClient.java
@Override public void login(String username, String password) throws IOException { if (loggedIn) { throw new IllegalStateException("Already logged in"); }//from ww w. j av a 2 s . co m if (!ftp.login(username, password)) { throw new ConnectException("Login failed"); } String systemType = ftp.getSystemType(); debug(() -> "Remote system is " + systemType); if (binaryTransfer) { ftp.setFileType(FTP.BINARY_FILE_TYPE); } else { // in theory this should not be necessary as servers should default to ASCII but they don't all do so - see NET-500 ftp.setFileType(FTP.ASCII_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); loggedIn = true; }
From source file:org.alinous.ftp.FtpManager.java
public void setFileType(String sessionId, String typeName) throws IOException { FTPClient ftp = this.instances.get(sessionId).getFtp(); if (typeName.toLowerCase().equals("ascii")) { ftp.setFileType(FTP.ASCII_FILE_TYPE); } else {//from www. j a va 2s.co m ftp.setFileType(FTP.BINARY_FILE_TYPE); } }
From source file:org.apache.camel.component.file.remote.FtpOperations.java
public boolean connect(RemoteFileConfiguration configuration) throws GenericFileOperationFailedException { log.trace("Connecting using FTPClient: {}", client); String host = configuration.getHost(); int port = configuration.getPort(); String username = configuration.getUsername(); if (clientConfig != null) { log.trace("Configuring FTPClient with config: {}", clientConfig); client.configure(clientConfig);/*from w w w . ja v a 2 s. co m*/ } if (log.isTraceEnabled()) { log.trace("Connecting to {} using connection timeout: {}", configuration.remoteServerInformation(), client.getConnectTimeout()); } boolean connected = false; int attempt = 0; while (!connected) { try { if (log.isTraceEnabled() && attempt > 0) { log.trace("Reconnect attempt #{} connecting to {}", attempt, configuration.remoteServerInformation()); } client.connect(host, port); // must check reply code if we are connected int reply = client.getReplyCode(); if (FTPReply.isPositiveCompletion(reply)) { // yes we could connect connected = true; } else { // throw an exception to force the retry logic in the catch exception block throw new GenericFileOperationFailedException(client.getReplyCode(), client.getReplyString(), "Server refused connection"); } } catch (Exception e) { // check if we are interrupted so we can break out if (Thread.currentThread().isInterrupted()) { throw new GenericFileOperationFailedException("Interrupted during connecting", new InterruptedException("Interrupted during connecting")); } GenericFileOperationFailedException failed; if (e instanceof GenericFileOperationFailedException) { failed = (GenericFileOperationFailedException) e; } else { failed = new GenericFileOperationFailedException(client.getReplyCode(), client.getReplyString(), e.getMessage(), e); } log.trace("Cannot connect due: {}", failed.getMessage()); attempt++; if (attempt > endpoint.getMaximumReconnectAttempts()) { throw failed; } if (endpoint.getReconnectDelay() > 0) { try { Thread.sleep(endpoint.getReconnectDelay()); } catch (InterruptedException ie) { // we could potentially also be interrupted during sleep Thread.currentThread().interrupt(); throw new GenericFileOperationFailedException("Interrupted during sleeping", ie); } } } } // must enter passive mode directly after connect if (configuration.isPassiveMode()) { log.trace("Using passive mode connections"); client.enterLocalPassiveMode(); } // must set soTimeout after connect if (endpoint instanceof FtpEndpoint) { FtpEndpoint<?> ftpEndpoint = (FtpEndpoint<?>) endpoint; if (ftpEndpoint.getSoTimeout() > 0) { log.trace("Using SoTimeout=" + ftpEndpoint.getSoTimeout()); try { client.setSoTimeout(ftpEndpoint.getSoTimeout()); } catch (IOException e) { throw new GenericFileOperationFailedException(client.getReplyCode(), client.getReplyString(), e.getMessage(), e); } } } try { boolean login; if (username != null) { log.trace("Attempting to login user: {} using password: {}", username, configuration.getPassword()); login = client.login(username, configuration.getPassword()); } else { log.trace("Attempting to login anonymous"); login = client.login("anonymous", ""); } log.trace("User {} logged in: {}", username != null ? username : "anonymous", login); if (!login) { throw new GenericFileOperationFailedException(client.getReplyCode(), client.getReplyString()); } client.setFileType(configuration.isBinary() ? FTP.BINARY_FILE_TYPE : FTP.ASCII_FILE_TYPE); } catch (IOException e) { throw new GenericFileOperationFailedException(client.getReplyCode(), client.getReplyString(), e.getMessage(), e); } // site commands if (endpoint.getConfiguration().getSiteCommand() != null) { // commands can be separated using new line Iterator<?> it = ObjectHelper.createIterator(endpoint.getConfiguration().getSiteCommand(), "\n"); while (it.hasNext()) { Object next = it.next(); String command = endpoint.getCamelContext().getTypeConverter().convertTo(String.class, next); log.trace("Site command to send: {}", command); if (command != null) { boolean result = sendSiteCommand(command); if (!result) { throw new GenericFileOperationFailedException( "Site command: " + command + " returned false"); } } } } return true; }