List of usage examples for org.apache.commons.net.ftp FTPReply isPositiveCompletion
public static boolean isPositiveCompletion(int reply)
From source file:com.jason.thrift.TransmitHandler.java
/** * Description: ?FTP?// w w w. j a v a 2s.c o m * * @Version1.0 Jul 27, 2008 4:31:09 PM by ?cuihongbao@d-heaven.com * @param url * FTP?hostname * @param port * FTP?? * @param username * FTP? * @param password * FTP? * @param path * FTP?? * @param filename * FTP??? * @param input * ? * @return ?true?false */ public static boolean uploadFile(String url, int port, String username, String password, String path, String filename, InputStream input) { boolean success = false; FTPClient ftp = new FTPClient(); try { int reply; ftp.connect(url, port);// FTP? // ??ftp.connect(url)?FTP? ftp.login(username, password);// reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); return success; } ftp.changeWorkingDirectory(path); ftp.storeFile(filename, input); input.close(); ftp.logout(); success = true; } catch (IOException e) { e.printStackTrace(); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException ioe) { } } } return success; }
From source file:com.moosemorals.mediabrowser.FtpScanner.java
/** * Connect to the ftp server.// ww w.ja v a 2s. c om * * @return boolean true if we needed to connect, false for already * connected. * @throws IOException */ private boolean connect() throws IOException { if (!ftp.isConnected()) { log.info("Connecting to FTP"); ftp.connect(remoteHostname); int reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); throw new IOException("FTP server refused connect"); } if (!ftp.login("humaxftp", "0000")) { throw new IOException("Can't login to FTP"); } if (!ftp.setFileType(FTPClient.BINARY_FILE_TYPE)) { throw new IOException("Can't set binary transfer"); } return true; } else { return false; } }
From source file:com.naryx.tagfusion.cfm.tag.net.ftp.cfFTPData.java
public boolean renameFile(String oldfile, String newfile) { if (!ftpclient.isConnected()) { errorText = "not connected"; succeeded = false;/*from w ww .j a v a 2 s. co m*/ return false; } boolean bResult = false; try { bResult = ftpclient.rename(oldfile, newfile); errorCode = ftpclient.getReplyCode(); succeeded = FTPReply.isPositiveCompletion(errorCode); } catch (Exception e) { errorCode = ftpclient.getReplyCode(); errorText = e.getMessage(); } finally { setStatusData(); } return bResult; }
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 v a 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:it.greenvulcano.util.remotefs.ftp.FTPManager.java
/** * @see it.greenvulcano.util.remotefs.RemoteManager#disconnect(Map<String, * String>)//from ww w .j ava2 s . c o m */ @Override public void disconnect(Map<String, String> optProperties) { if (isConnected) { String localHostname = hostname; try { Map<String, Object> localProps = MapUtils.convertToHMStringObject(optProperties); String localUsername = PropertiesHandler.expand(username, localProps); localHostname = PropertiesHandler.expand(hostname, localProps); if (ftpClient.isConnected()) { logger.debug( "Logging out FTP user " + localUsername + " from FTP server " + localHostname + "..."); ftpClient.logout(); int reply = ftpClient.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { logger.warn("FTP server " + localHostname + " refused user logout : " + ftpClient.getReplyString()); } else { logger.debug( "FTP server " + localHostname + " reply: " + ftpClient.getReplyString().trim()); } logger.debug("FTP user " + localUsername + " logged out"); } } catch (IOException exc) { logger.warn("I/O error while logging out", exc); } catch (Exception exc) { logger.warn("Generic error while logging out", exc); } finally { if (ftpClient.isConnected()) { try { logger.debug("Disconnecting from FTP server " + localHostname + "..."); ftpClient.disconnect(); } catch (Exception exc) { logger.warn("Disconnection from FTP server " + localHostname + " failed", exc); } } isConnected = false; } } }
From source file:com.jsystem.j2autoit.AutoItAgent.java
private static void getFileFtp(String user, String password, String host, int port, String fileName, String location) throws Exception { Log.info("\nretrieve " + fileName + NEW_LINE); FTPClient client = new FTPClient(); client.connect(host, port); //connect to the management ftp server int reply = client.getReplyCode(); // check connection if (!FTPReply.isPositiveCompletion(reply)) { throw new Exception("FTP fail to connect"); }//w ww . j a v a 2s . co m if (!client.login(user, password)) { //check login throw new Exception("FTP fail to login"); } // FileOutputStream fos = null; try { File locationFile = new File(location); File dest = new File(locationFile, fileName); if (dest.exists()) { dest.delete(); } else { locationFile.mkdirs(); } boolean status = client.changeWorkingDirectory("/"); Log.info("chdir-status:" + status + NEW_LINE); client.setFileTransferMode(FTPClient.BINARY_FILE_TYPE); client.setFileType(FTPClient.BINARY_FILE_TYPE); client.enterLocalActiveMode(); InputStream in = client.retrieveFileStream(fileName); if (in == null) { Log.error("Input stream is null\n"); throw new Exception("Fail to retrieve file " + fileName); } Thread.sleep(3000); saveInputStreamToFile(in, new File(location, fileName)); } finally { client.disconnect(); } }
From source file:jenkins.plugins.publish_over_ftp.BapFtpHostConfiguration.java
private void connect(final BapFtpClient client) throws IOException { final FTPClient ftpClient = client.getFtpClient(); ftpClient.connect(getHostnameTrimmed(), getPort()); final int responseCode = ftpClient.getReplyCode(); if (!FTPReply.isPositiveCompletion(responseCode)) { exception(client, Messages.exception_connectFailed(getHostnameTrimmed(), getPort(), responseCode)); }//from w ww.ja v a2 s. c o m setDataTransferMode(ftpClient); }
From source file:ddf.test.itests.catalog.TestFtp.java
private FTPClient createInsecureClient() throws Exception { FTPClient ftp = new FTPClient(); int attempts = 0; while (true) { try {//from w ww.j a va2 s .c o m ftp.connect(FTP_SERVER, Integer.parseInt(FTP_PORT.getPort())); break; } catch (SocketException e) { // a socket exception can be thrown if the ftp server is still in the process of coming up // or down Thread.sleep(1000); if (attempts++ > 30) { throw e; } } } showServerReply(ftp); int connectionReply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(connectionReply)) { fail("FTP server refused connection: " + connectionReply); } boolean success = ftp.login(USERNAME, PASSWORD); showServerReply(ftp); if (!success) { fail("Could not log in to the FTP server."); } ftp.enterLocalPassiveMode(); ftp.setControlKeepAliveTimeout(300); ftp.setFileType(FTP.BINARY_FILE_TYPE); return ftp; }
From source file:hd3gtv.storage.AbstractFileBridgeFtp.java
public AbstractFile moveTo(String newpath) { if (configurator.readonly) { return null; }/* ww w.j ava 2 s. c o m*/ if (newpath.startsWith("/") == false) { newpath = "/" + newpath; } try { String newpath_ = (root_path + newpath).replaceAll("//", "/"); if (FTPReply.isPositiveIntermediate(ftpclient.rnfr(root_path + path))) { if (FTPReply.isPositiveCompletion(ftpclient.rnto(newpath_))) { return new AbstractFileBridgeFtp(this, getRandomFtpFile(newpath_), newpath); } else { throw new IOException("Can't rename, set to new name"); } } else { throw new IOException("Can't rename, prepare name"); } } catch (IOException e) { /** Maybe a security problem */ Log2.log.error("Can't access to file", e, this); return null; } }
From source file:com.naryx.tagfusion.cfm.tag.net.ftp.cfFTPData.java
public void downloadFile(File fileLocal, String remoteFile) { if (!ftpclient.isConnected()) { errorText = "not connected"; succeeded = false;/*w ww .j a v a 2s . c om*/ return; } FileOutputStream fos = null; BufferedOutputStream bos = null; try { ftpclient.setAutodetectUTF8(true); fos = new FileOutputStream(fileLocal); bos = new BufferedOutputStream(fos); ftpclient.retrieveFile(remoteFile, bos); bos.flush(); bos.close(); errorCode = ftpclient.getReplyCode(); succeeded = FTPReply.isPositiveCompletion(errorCode); } catch (Exception e) { errorCode = ftpclient.getReplyCode(); errorText = e.getMessage(); } finally { if (fos != null) { try { fos.close(); } catch (IOException e) { } } setStatusData(); } }