Soru & Cevap

download klasörü içinde bir dosya varlığı kontrolü.

05.04.2020 - 03:10

download klasörü içinde bir dosya varlığı kontrolü yapmak isitiyorum. Mesela internetten metin.txt isimli bir dosyayı indirmek istediğimde o dosyanın download klasöründe olup olmadığını kontrol etmek istiyorum. Bu konuyla ilgili çok araştırma yaptım. Download klasörünün adresini dosya adıyla birlikte çekiyorum ama çektiğim dizini kontrol ettiğimde kontrol gerçekleşmiyor. Download Kalsörünün kontrolünü yapıyor ama içindeki dosyanın kontrolünü yapmıyor 

 File dizin =  new File(Environment.
                    getExternalStoragePublicDirectory(Environment
                            .DIRECTORY_DOWNLOADS).getAbsolutePath() + "/belge.pdf");

            if(dizin.exists()) {
                Toast.makeText(getApplicationContext(), "Bu dosya zaten var",
                        Toast.LENGTH_LONG).show();
            }

 

8 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user f.erenyucal
f.erenyucal
17.02.2023 - 11:21

Merhaba Kemalettin! Gönderdiğiniz kod parçası, belirtilen dosya adıyla birlikte Downloads dizininde bir dosya olup olmadığını kontrol eder. Bu nedenle, dosyanın adını değiştirerek veya aynı isimde farklı bir dosya yükleyerek test edebilirsiniz

Ancak, indirilen dosyaların adları ve konumları zaman içinde değişebileceğinden, dosyanın varlığını kontrol etmek yerine dosya yolunu kontrol etmek daha güvenlidir. Bu şekilde, belirli bir dosya adını varsaymazsınız ve indirilen dosyanın gerçek yolunu kontrol edersiniz. Aşağıdaki kod parçası, downloads dizinindeki tüm dosyaları listeler ve ardından belirli bir dosya yolu varsa bir mesaj görüntüler:

 

File downloadDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);

if (downloadDir.exists() && downloadDir.isDirectory()) {
    File[] files = downloadDir.listFiles();
    for (File file : files) {
        if (file.getAbsolutePath().equals("/storage/emulated/0/Download/metin.txt")) {
            Toast.makeText(getApplicationContext(), "Dosya indirildi.", Toast.LENGTH_SHORT).show();
            break;
        }
    }
}