मैं इस निर्देशिका से सभी फाइलों को डाउनलोड करने का प्रयास कर रहा हूं। हालांकि, मैं इसे केवल एक फ़ाइल के रूप में यूआरएल डाउनलोड करने के लिए प्राप्त कर सकता हूं। मैं क्या कर सकता हूँ? मैंने इस समस्या की खोज करने की कोशिश की और यह भ्रमित था और लोग इसके बजाय httpclients का उपयोग करने का सुझाव देना शुरू कर रहे थे। आपकी मदद के लिए धन्यवाद, यह अब तक मेरा कोड है। यह सुझाव दिया गया है कि मैं निर्देशिका में सभी फाइलों को प्राप्त करने के लिए एक इनपुट स्ट्रीम का उपयोग करता हूं। क्या वह एक सरणी में जाएगा? मैंने ट्यूटोरियल को http://docs.oracle.com/javase/tutorial/networking/urls/ पर आजमाया लेकिन इससे मुझे समझने में मदद नहीं मिली।जावा निर्देशिका में सभी फाइलें और फ़ोल्डर्स डाउनलोड करें
//ProgressBar/Install
String URL_LOCATION = "http://www.futureretrogaming.tk/gamefiles/ProfessorPhys/";
String LOCAL_FILE = filelocation.getText() + "\\ProfessorPhys\\";
try {
java.net.URL url = new URL(URL_LOCATION);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.addRequestProperty("User-Agent", "Mozilla/4.76");
//URLConnection connection = url.openConnection();
BufferedInputStream stream = new BufferedInputStream(connection.getInputStream());
int available = stream.available();
byte b[]= new byte[available];
stream.read(b);
File file = new File(LOCAL_FILE);
OutputStream out = new FileOutputStream(file);
out.write(b);
} catch (Exception e) {
System.err.println(e);
}
मुझे यह कोड भी मिला जो डाउनलोड करने के लिए फ़ाइलों की एक सूची लौटाएगा। क्या कोई मुझे दो कोडों को गठबंधन करने में मदद कर सकता है?
public class GetAllFilesInDirectory {
public static void main(String[] args) throws IOException {
File dir = new File("dir");
System.out.println("Getting all files in " + dir.getCanonicalPath() + " including those in subdirectories");
List<File> files = (List<File>) FileUtils.listFiles(dir, TrueFileFilter.INSTANCE, TrueFileFilter.INSTANCE);
for (File file : files) {
System.out.println("file: " + file.getCanonicalPath());
}
}
}
जब तक आप किसी यूआरएल के माध्यम से संसाधनों तक नहीं पहुंच सकते, तो आप नहीं कर सकते। – MadProgrammer
ठीक है अब मैं कर सकता हूं, मैंने इसे अनुमति देने के लिए htaccess फ़ाइल संपादित की है। – Kyle
इसके अलावा, यह अपाचे एचटीपी क्लाइंट का उपयोग करके बेहतर होगा जैसा कि यहां दिखाया गया है: [HTTP अनुरोधों को आग और संभालने के लिए java.net.URL कनेक्शन का उपयोग कैसे करें?] (Http://stackoverflow.com/q/2793150/1065197) –