رفتن به مطلب
  • 0

لیست کردن فایلها بر اساس تاریخ


mahdi tahan

سوال

با سلام 

برای گرفتن لیست فایلها ازین دستور استفاده میکردیم

Dim PathFile As String = File.DirRootExternal "
	Dim ListImage As List
	ListImage.Initialize
	ListImage = File.ListFiles(PathFile)

این میاد لیستو میگیره

حالااگر بخوایم بر مبنی تاریخ به ما بده چجوریه؟

یعنی لیست بر مبنی تاریخ ایجاد هر فایل باشه

همون چیزی که توفایل منیجر ها و گالریها هست که بر لیست به ترتیب فایل جدیدتره

میدونم با این کد میشه تاریخ فایل رو گرف ولی نمدونم چجوری لیست رو بر اون مبنی بگیرم

For i = 0 To ListImage.Size -1
		Dim d As Long
		d = File.LastModified(PathFile,ListImage.Get(i))
		lt.Add(DateTime.Date(d))
	Next

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

4 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در در 10 اسفند 1398 در 20:23، mahdi tahan گفته است :

ممنون واقعا 

کد درسته و درست کار کرد

ولی فق یک مشکل داره که وقتی تعداد فایل هایه یک پوشه زیاد میشه این ارورو میده


(RuntimeException) java.lang.RuntimeException: Object should first be initialized (List).

 

دوتا موضوع رو در نظر داشته باشید دوست عزیز. 

1: دسترسی رانتایم کارت حافظه.

2: ترجیحا استفاده از تردی غیر از ترد اصلی.( از کتابخونه persianAsynckTask استفاده کنید)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

با تشکر

خودمم اول فکر کردم ممکنه از سنگین بودنش باشه

و با ترد امتحان کردم ولی همون ارورو داد

ولی خوب راهشو پیدا کردم

تو کد جاوایه شما به جایه

 

return (int) (f2.lastModified()-f1.lastModified());

از این استفاده کردم بدون مشکل لیست کرد

return Long.valueOf(f2.lastModified()).compareTo(f1.lastModified());

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 17 ساعت قبل، mahdi tahan گفته است :

 

 

با بیسیک نمیشه دوست عزیز. متد جاواشو نوشتم واستون. با متد زیر میتونید لیست فایلهای یک مسیر رو به ترتیب تاریخ ایجاد فایل بگیرید.

#If java
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public List<String> getlistOfFiles(String dir) {
	try {
        File files = new File(dir);
        List<File> listOfFiles = Arrays.asList(files.listFiles());
        Collections.sort(listOfFiles, new Comparator<File>() {
            @Override
            public int compare(File f1, File f2) {
                return (int) (f2.lastModified()-f1.lastModified());
            }
        });
        List<String> filestring=new ArrayList<String>();
        for (File file:listOfFiles){
            filestring.add(file.getName());
        }
        return filestring;
    }catch (Exception e){
        return null;
    }       
 }
#End If

به صورت زیر استفاده کنید.

Dim jo As JavaObject
	Dim l As List=jo.InitializeContext.RunMethod("getlistOfFiles",Array As Object(File.DirDefaultExternal))
	Try
		For Each f As String In l
			Log(f)
		Next
	Catch
		Log(LastException)
	End Try

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون واقعا 

کد درسته و درست کار کرد

ولی فق یک مشکل داره که وقتی تعداد فایل هایه یک پوشه زیاد میشه این ارورو میده

(RuntimeException) java.lang.RuntimeException: Object should first be initialized (List).

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...