web-dev-qa-db-fra.com

Android; Vérifier si le fichier existe sans en créer un nouveau

Je veux vérifier si le fichier existe dans mon dossier de paquets, mais je ne veux pas en créer un nouveau.

File file = new File(filePath);
if(file.exists()) 
     return true;

Ce code vérifie-t-il sans créer un nouveau fichier?

206
MBH

Votre morceau de code ne crée pas de nouveau, il vérifie seulement si c'est déjà là et rien d'autre.

File file = new File(filePath);
if(file.exists())      
//Do something
else
// Do something else.
399
Maikel Bollemeijer

Lorsque vous utilisez ce code, vous ne créez pas de nouveau fichier, il crée simplement une référence d'objet pour ce fichier et teste s'il existe ou non.

File file = new File(filePath);
if(file.exists()) 
    //do something
28
Victor Laerte

Cela a fonctionné pour moi:

File file = new File(getApplicationContext().getFilesDir(),"whatever.txt");
    if(file.exists()){
       //Do something
    }
    else{
       //Nothing
     }
11
Jordi Vicens

Lorsque vous dites "dans votre dossier de package", vous voulez dire vos fichiers d'application locale? Si c'est le cas, vous pouvez en obtenir une liste à l'aide de la méthode Context.fileList () . Il suffit de parcourir et de rechercher votre fichier. Cela suppose que vous avez enregistré le fichier d'origine avec Context.openFileOutput () .

Exemple de code (dans une activité):

public void onCreate(...) {
    super.onCreate(...);
    String[] files = fileList();
    for (String file : files) {
        if (file.equals(myFileName)) {
            //file exits
        }
    }
}
7
thomas88wp

Les methods de la classe Path sont syntaxiques, ce qui signifie qu'ils agissent sur l'instance Path. Mais finalement, vous devez accéder au système file pour vérifier qu'un chemin particulier existe

 File file = new File("FileName");
 if(file.exists()){
 System.out.println("file is already there");
 }else{
 System.out.println("Not find file ");
 }
4
Anand Dwivedi
public boolean FileExists(String fname) {
        File file = getBaseContext().getFileStreamPath(fname);
        return file.exists();
}
0
HomieZ2