بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

پیدا کردن دایرکتوری هایی که شامل عکس میباشند؟

مدیریت گفتگو
nero 360 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام من میخوام وقتی مسیر اول یک فایلو میدیم برنامه بره زیر فایل هارو جستجو کنه و اگه داخل فایل یا دایرکتوری های زیر مجموعه اش حاوی عکس هست مقدار true را برگردونه. کد هم فقط اون متد isContainImage رو میخام ، ممنون میشم کمکم کنید

ArrayList<String> allFiles = new ArrayList<>();
 File file = new File("Directory");
File[] files = file.listFile();
for(File f:files){
if(f.isContainImage){
allFiles.add(f)}
}


نظرات

peyman_m1992 10 سال پیش
چنین کارهایی که معلوم نیست تا چه مرتبه ای ادامه پیدا میکنه متد های بازگشتی گزینه خیلی خوبی هست تو این لینک توضیحات توابع بازگشتی داده شده لینک

پاسخ‌ها 1

Amir 10 سال پیش

من قبلا یه پروژه رو نوشتم برای اینکه تشخیص بده نوع فایل چیه متد زیر رو نوشتم که شما می تونید فقط picture رو return کنید:

public static String getFileKind(String extension) {
String[] pictures = new String[]{ "bmp", "gif", "cur", "jpg", "jpeg", "mbm", "png", "psd", "tiff", "tif", "tga", "wmf", "psp", "ico" };
String[] videos = new String[]{ "3gp", "avi", "bik", "dat", "flv", "mpg", "wmv", "mov", "swf", "vob", "mp4", "wmf" };
String[] sounds = new String[]{ "amr", "flac", "mid", "midi", "mp3", "mpc", "ogg", "tta", "wav", "wma", "cdda", "mod", "aiff", "voc", "ra", "m4a", "cda", "mpa" };
String[] compresses = new String[]{ "7zip", "cab", "jar", "rar", "tar", "zip" };
String[] texts = new String[]{ "txt", "rtf", "doc", "pdf", "wri" };

String newExtension = extension.toLowerCase();

for (String picture: pictures) {
if (picture.equals(newExtension)) {
return "picture";
}
}
for (String video: videos) {
if (video.equals(newExtension)) {
return "video";
}
}
for (String sound: sounds) {
if (sound.equals(newExtension)) {
return "sound";
}
}
for (String compress: compresses) {
if (compress.equals(newExtension)) {
return "compress";
}
}
for (String text: texts) {
if (text.equals(newExtension)) {
return "text";
}
}
if (newExtension.equals("apk")) {
return "app";
}
return null;
}

برای گرفتن پسوند فایل هم متد زیر رو نوشتم:

    public static String getFileExtension(String path) {
char[] spell = path.toCharArray();
for (int i = path.length() - 1; i >= 0; i--) {
String thisLetter = "" + spell[i];
if (thisLetter.equals(".")) {
return path.substring(i + 1, path.length());
}
}
return null;
}

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .