45 Stimmen

Wie man die Dateierweiterung auf Android überprüft

Wenn wir in meiner Anwendung die Dateien von der SD-Karte durchsuchen, handelt es sich bei den Dateien um .text, .jpg und mpeg4ie-Videodateien.

Ich möchte jeden Dateityp in einem bestimmten Ordner speichern. Textdateien werden zum Beispiel im Textordner gespeichert. Wie prüfe ich die Dateierweiterung, wenn ich die Datei auswähle?

0voto

MJ93 Punkte 4668

Wenn Sie alle Dateien mit einer bestimmten Erweiterung in einem bestimmten Verzeichnis abrufen möchten:

File[] files = (new File("/sdcard/yourDirectory/").listFiles(new CustomFilter());

....

class CustomFilter implements FileFilter
{
    //Add the file extensions you want to look for here:
    private String[] extension =
        { "text", "jpg", "jpeg", "mpeg" };

    @Override
    public boolean accept(File pathname)
    {
        String name = pathname.getName().toLowerCase();

        for (String anExt : extension)
        {
            if (name.endsWith(anExt))
            {
                // A file has been detected with that extension
                return true;
            }
        }
        return false;
    }
}

0voto

Sandeep P Punkte 4112
public String getExtension(File file) {
    String fileName = file.getName();
    try {
        if (fileName.contains("\\.")) {
            String filenameArray[] = fileName.split("\\.");
            extension = filenameArray[filenameArray.length - 1];
        }
        else {
            extension = "dir";
        }
    }
    catch (Exception e) {
        extension = "err";
    }
    return extension;
}

0voto

Ilya Gazman Punkte 29734

Hier ist eine Methode, die alle Fälle testet

    String getExtension(String fileName){
        final String emptyExtension = "";
        if(fileName == null){
            return emptyExtension;
        }
        int index = fileName.lastIndexOf(".");
        if(index == -1){
            return emptyExtension;
        }
        return fileName.substring(index + 1);
    }

-1voto

Pradeep Sheoran Punkte 497
onclick(View view) {
    GetFileExtension(videouri);
    Toast.makeText(this, "Exten: "+GetFileExtension(videouri), Toast.LENGTH_SHORT).show();
}

// Get Extension
public String GetFileExtension(Uri uri){

    ContentResolver contentResolver = getContentResolver();
    MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();

    // Return file extension
    return mimeTypeMap.getExtensionFromMimeType(contentResolver.getType(uri));
}

Hier wird die videouri variable hat ein Video. Ich meine:

videouri = data.getData();

unter onResultActivity.

Sie können hier jede beliebige Variable übergeben, z. B. ein Bild, ein Video, eine MP3-Datei oder Dateien/Dokumente. Es funktioniert für alle Arten von Inhalten.

Es ist ein Unternehmenscode, der hauptsächlich für kommerzielle Zwecke verwendet wird.

Ich bin mir 100 % sicher, dass es mit Sicherheit funktionieren wird...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X