siampour
پنج شنبه 27 شهریور 1393, 10:57 صبح
سلام من یه کد نوشتم میخوام یه سری فایل رو از تو یه سایت پیدا کنه
آدرس فایل ها به این صورته که http://exm.com/000000000001.mp3
اسم فایل یه عدد 12 رقمیه ولی همه اعداد معتبر نیست
حالا من کدی نوشتم که از 000000000000 تا 999999999999 شروع کنه به پیدا کردن و هر کدوم معتبر بود و فایل وجود داشت شماره معتبر به اضافه حجمش رو بده من .
ولی کنده خیلی طول میکشه تا این تعداد فایل رو پیدا کنه
من به صورت Thread نوشتم که برای پیدا کردن هر فایل یه Thread درست کنه . سرعتش بیشتر شد چون اینجوری همزمان تعداد فایل بیشتری رو دنبالش میگرده ولی اینجوری حجم دریافتی میره بالا. ولی بازم سرعتش قابل قبول نیست
برای من فقط حجم فایل های معتبر به شمارشون مهمه خود فایل مهم نیست . هر چی مخواد باشه
این کدیه که حجم فایل رو پیدا میکنه
int tryGetFileSize(URL url) {
HttpURLConnection conn = null;
try {
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("HEAD");
conn.getInputStream();
return conn.getContentLength();
} catch (IOException e) {
return -1;
} finally {
conn.disconnect();
}
}
آدرس فایل ها به این صورته که http://exm.com/000000000001.mp3
اسم فایل یه عدد 12 رقمیه ولی همه اعداد معتبر نیست
حالا من کدی نوشتم که از 000000000000 تا 999999999999 شروع کنه به پیدا کردن و هر کدوم معتبر بود و فایل وجود داشت شماره معتبر به اضافه حجمش رو بده من .
ولی کنده خیلی طول میکشه تا این تعداد فایل رو پیدا کنه
من به صورت Thread نوشتم که برای پیدا کردن هر فایل یه Thread درست کنه . سرعتش بیشتر شد چون اینجوری همزمان تعداد فایل بیشتری رو دنبالش میگرده ولی اینجوری حجم دریافتی میره بالا. ولی بازم سرعتش قابل قبول نیست
برای من فقط حجم فایل های معتبر به شمارشون مهمه خود فایل مهم نیست . هر چی مخواد باشه
این کدیه که حجم فایل رو پیدا میکنه
int tryGetFileSize(URL url) {
HttpURLConnection conn = null;
try {
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("HEAD");
conn.getInputStream();
return conn.getContentLength();
} catch (IOException e) {
return -1;
} finally {
conn.disconnect();
}
}