मैं जावा यूआरएल और यूआरएल कनेक्शन कनेक्शन का उपयोग कर एफ़टीपी का उपयोग कर सर्वर पर फ़ाइल अपलोड करने के लिए कर रहा हूं। मुझे बस फ़ाइल अपलोड करने के अलावा कुछ भी करने की ज़रूरत नहीं है, इसलिए मैं किसी बाहरी पुस्तकालय से बचना चाहता हूं और मैं गैर-समर्थित sun.net.ftp क्लास का उपयोग करने से सावधान हूं।एफ़टीपी यूआरएल में पूर्ण पथ निर्दिष्ट करने का कोई तरीका?
क्या FTP कनेक्शन स्ट्रिंग में पूर्ण पथ का उपयोग करने का कोई तरीका है? मैं अपनी फाइलों को "/ ftptransfers/..." जैसे कुछ में रखना चाहता हूं लेकिन एफ़टीपी पथ उपयोगकर्ता होम निर्देशिका से संबंधित है।
नमूना अपलोड कोड:
URL url = new URL("ftp://username:[email protected]/file.txt");
URLConnection uc = url.openConnection();
uc.setDoOutput(true);
OutputStream out = uc.getOutputStream() ;
out.write("THIS DATA WILL BE WRITTEN TO FILE".getBytes());
out.close();
भी (जब तक कि वह सीडी आदेश खुद को, जो मुझे लगता है कि वह कर सकता है लागू करने के लिए चाहता है) हालांकि यह मानक प्रक्रिया की तुलना में शोषण की तरह लगता है, मुझे यह वास्तव में उपयोगी समाधान मिला! मैं किसी भी बाहरी libs का उपयोग नहीं करना चाहता था, न ही sun.net.ftp सीधे। और apache commons एफ़टीपी क्लाइंट प्रॉक्सी का समर्थन नहीं करता है (सिस्टम गुणों के अलावा) और यह एक बाहरी lib है। समाधान के लिए धन्यवाद! –
वास्तव में, यह स्टैंडअर्ट तरीका है। यह आरएफसी 1738 (http://datatracker.ietf.org/doc/rfc1738/) का पालन करता है जो अभी तक एफ़टीपी यूआरएल योजना के हिस्से में अप्रचलित नहीं है –