खोज…


वाक्य - विन्यास

  • FTPClient कनेक्ट (InetAddress होस्ट, इंट पोर्ट)
  • FTPClient लॉगिन (स्ट्रिंग उपयोगकर्ता नाम, स्ट्रिंग पासवर्ड)
  • FTPClient डिस्कनेक्ट ()
  • FTPReply getReplyStrings ()
  • बूलियन स्टोर फ़िले (स्ट्रिंग रिमोट, इनपुटस्ट्रीम लोकल)
  • आउटपुटस्ट्रीम स्टोरफिलेस्ट्रीम (स्ट्रिंग रिमोट)
  • बूलियन setFileType (int fileType)
  • बूलियन पूरा

पैरामीटर

पैरामीटर विवरण
मेज़बान या तो एफ़टीपी सर्वर का होस्ट नाम या आईपी पता
बंदरगाह FTP सर्वर पोर्ट
उपयोगकर्ता नाम एफ़टीपी सर्वर उपयोगकर्ता नाम
कुंजिका एफ़टीपी सर्वर पासवर्ड

एफ़टीपी सर्वर से कनेक्ट और लॉगिंग

जावा के साथ एफ़टीपी का उपयोग शुरू करने के लिए, आपको एक नया FTPClient बनाना होगा और फिर .connect(String server, int port) और .login(String username, String password) का उपयोग करके सर्वर से कनेक्ट और लॉगिन करना होगा।

import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
//Import all the required resource for this project.

public class FTPConnectAndLogin {
    public static void main(String[] args) {
        // SET THESE TO MATCH YOUR FTP SERVER //
        String server = "www.server.com"; //Server can be either host name or IP address.
        int port = 21;
        String user = "Username";
        String pass = "Password";

        FTPClient ftp = new FTPClient;
        ftp.connect(server, port);
        ftp.login(user, pass);
    }
}

अब हमारे पास मूल बातें हो चुकी हैं। लेकिन क्या होगा अगर हमारे पास सर्वर से कनेक्ट करने में कोई त्रुटि है? हम जानना चाहेंगे कि कब कुछ गलत हो जाए और त्रुटि संदेश मिल जाए। कनेक्ट करते समय त्रुटियों को पकड़ने के लिए कुछ कोड जोड़ें।

try {
    ftp.connect(server, port);
    showServerReply(ftp);
    int replyCode = ftp.getReplyCode();
    if (!FTPReply.isPositiveCompletion(replyCode)) {
        System.out.printIn("Operation failed. Server reply code: " + replyCode)
        return;
    }
    ftp.login(user, pass);
} catch {

}

हम जो कुछ भी करते हैं, उसे चरणबद्ध तरीके से तोड़ दें।

showServerReply(ftp);

यह एक फ़ंक्शन को संदर्भित करता है जिसे हम बाद के चरण में बना रहे हैं।

int replyCode = ftp.getReplyCode();

यह सर्वर से उत्तर / त्रुटि कोड को पकड़ लेता है और इसे पूर्णांक के रूप में संग्रहीत करता है।

if (!FTPReply.isPositiveCompletion(replyCode)) {
    System.out.printIn("Operation failed. Server reply code: " + replyCode)
    return;
}

यह उत्तर कोड की जाँच करता है कि क्या कोई त्रुटि थी। यदि कोई त्रुटि थी, तो यह "ऑपरेशन विफल" होगा। सर्वर रिप्लाई कोड: "त्रुटि कोड के बाद। हमने एक कोशिश / कैच ब्लॉक भी जोड़ा है जिसे हम अगले चरण में जोड़ेंगे। अगला, चलिए एक फ़ंक्शन भी बनाते हैं जो त्रुटियों के लिए ftp.login() जांच करता है।

boolean success = ftp.login(user, pass);
showServerReply(ftp);
if (!success) {
    System.out.println("Failed to log into the server");
        return;
    } else {
        System.out.println("LOGGED IN SERVER");
    }

चलिए इस ब्लॉक को भी तोड़ते हैं।

boolean success = ftp.login(user, pass);

यह केवल एफ़टीपी सर्वर में प्रवेश करने का प्रयास नहीं करेगा, यह एक बूलियन के रूप में भी परिणाम संग्रहीत करेगा।

showServerReply(ftp);

यह जांच करेगा कि क्या सर्वर ने हमें कोई संदेश भेजा है, लेकिन हमें पहले चरण में फ़ंक्शन बनाने की आवश्यकता होगी।

if (!success) {
System.out.println("Failed to log into the server");
    return;
} else {
    System.out.println("LOGGED IN SERVER");
}

यदि हम सफलतापूर्वक लॉग इन करते हैं तो यह स्टेटमेंट चेक करेगा; यदि ऐसा है, तो यह "लॉग इन सर्वर" को मुद्रित करेगा, अन्यथा यह "सर्वर में लॉग इन करने में विफल" प्रिंट करेगा। यह हमारी अब तक की पटकथा है:

import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class FTPConnectAndLogin {
    public static void main(String[] args) {
        // SET THESE TO MATCH YOUR FTP SERVER //
        String server = "www.server.com";
        int port = 21;
        String user = "username"
        String pass = "password"

        FTPClient ftp = new FTPClient
        try {
            ftp.connect(server, port)
            showServerReply(ftp);
            int replyCode = ftpClient.getReplyCode();
            if (!FTPReply.isPositiveCompletion(replyCode)) {
                    System.out.println("Operation failed. Server reply code: " + replyCode);
                    return;
                }
            boolean success = ftp.login(user, pass);
            showServerReply(ftp);
            if (!success) {
                System.out.println("Failed to log into the server");
                return;
            } else {
                System.out.println("LOGGED IN SERVER");
            }
        } catch {

        }
    }
}

अब आगे हम पूरी प्रक्रिया के साथ किसी भी त्रुटि में चलने के मामले में कैच ब्लॉक को पूरा करते हैं।

} catch (IOException ex) {
    System.out.println("Oops! Something went wrong.");
    ex.printStackTrace();
}

पूर्ण कैच ब्लॉक अब "ओह! कुछ गलत हो गया" प्रिंट करेगा। और अगर कोई त्रुटि हो तो स्टैकट्रेस। अब हमारा अंतिम चरण showServerReply() बनाना है showServerReply() उपयोग हम कुछ समय से कर रहे हैं।

private static void showServerReply(FTPClient ftp) {
    String[] replies = ftp.getReplyStrings();
    if (replies != null && replies.length > 0) {
    for (String aReply : replies) { 
        System.out.println("SERVER: " + aReply);
        }
    }
}

यह फ़ंक्शन एक चर के रूप में FTPClient लेता है, और इसे "ftp" कहता है। इसके बाद यह सर्वर से किसी भी सर्वर को स्ट्रिंग ऐरे में स्टोर करता है। अगला यह जांचता है कि क्या कोई संदेश संग्रहीत किया गया था। यदि कोई है, तो यह उनमें से प्रत्येक को "SERVER: [उत्तर]" के रूप में प्रिंट करता है। अब हमारे पास वह कार्य पूरा हो गया है, यह पूरी स्क्रिप्ट है:

import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class FTPConnectAndLogin {
    private static void showServerReply(FTPClient ftp) {
        String[] replies = ftp.getReplyStrings(); 
        if (replies != null && replies.length > 0) {
        for (String aReply : replies) {
            System.out.println("SERVER: " + aReply);
            }
        }
    }

    public static void main(String[] args) {
        // SET THESE TO MATCH YOUR FTP SERVER //
        String server = "www.server.com";
        int port = 21;
        String user = "username"
        String pass = "password"

        FTPClient ftp = new FTPClient
        try {
            ftp.connect(server, port)
            showServerReply(ftp);
            int replyCode = ftpClient.getReplyCode();
            if (!FTPReply.isPositiveCompletion(replyCode)) {
                System.out.println("Operation failed. Server reply code: " + replyCode);
                return;
            }
            boolean success = ftp.login(user, pass);
            showServerReply(ftp);
            if (!success) {
                System.out.println("Failed to log into the server");
                return;
            } else {
                System.out.println("LOGGED IN SERVER");
            }
        } catch (IOException ex) {
            System.out.println("Oops! Something went wrong.");
            ex.printStackTrace();
        }
    }
}

हमें पहले एक नया FTPClient बनाने और इसे सर्वर से कनेक्ट करने और इसे का उपयोग कर लॉग इन करने की कोशिश करनी .connect(String server, int port) और .login(String username, String password) । यदि हमारा कोड सर्वर से जुड़ने में विफल रहता है, तो कोशिश / कैच ब्लॉक का उपयोग करके कनेक्ट करना और लॉगिन करना महत्वपूर्ण है। हमें एक फ़ंक्शन भी बनाना होगा जो सर्वर से प्राप्त होने वाले किसी भी संदेश की जांच और प्रदर्शन करता है जैसा कि हम कनेक्ट करने और लॉग इन करने का प्रयास करते हैं। हम इस फ़ंक्शन को " showServerReply(FTPClient ftp) " showServerReply(FTPClient ftp)

import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class FTPConnectAndLogin {
    private static void showServerReply(FTPClient ftp) {
        if (replies != null && replies.length > 0) {
        for (String aReply : replies) {
            System.out.println("SERVER: " + aReply);
            }
        }
    }

public static void main(String[] args) {
    // SET THESE TO MATCH YOUR FTP SERVER //
    String server = "www.server.com";
    int port = 21;
    String user = "username"
    String pass = "password"

FTPClient ftp = new FTPClient
try {
    ftp.connect(server, port)
    showServerReply(ftp);
    int replyCode = ftpClient.getReplyCode();
    if (!FTPReply.isPositiveCompletion(replyCode)) {
            System.out.println("Operation failed. Server reply code: " + replyCode);
            return;
        }
    boolean success = ftp.login(user, pass);
    showServerReply(ftp);
    if (!success) {
        System.out.println("Failed to log into the server");
            return;
        } else {
            System.out.println("LOGGED IN SERVER");
        }
    } catch (IOException ex) {
        System.out.println("Oops! Something went wrong.");
        ex.printStackTrace();
        }
    }
}

इसके बाद, अब आपके पास आपका एफ़टीपी सर्वर जावा स्क्रिप्ट से जुड़ा होना चाहिए।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow