web-dev-qa-db-ja.com

アンドロイド;新しいファイルを作成せずにファイルが存在するか確認してください

ファイルが自分のパッケージフォルダに存在するかどうかを確認したいのですが、新しいフォルダを作成したくありません。

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

このコードは新しいファイルを作成せずにチェックしますか?

200
MBH

あなたのコードの塊は新しいものを作成するのではなく、それが既にそこにあるかどうかだけをチェックし、他には何もしません。

File file = new File(filePath);
if(file.exists())      
//Do something
else
// Do something else.
388

このコードを使用するとき、新しいファイルを作成するのではなく、単にそのファイルのオブジェクト参照を作成し、それが存在するかどうかをテストするだけです。

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

それは私のために働きました:

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

あなたが「あなたのパッケージフォルダに」と言ったとき、あなたはあなたのローカルアプリファイルを意味しますか?もしそうなら、あなたは Context.fileList() メソッドを使ってそれらのリストを得ることができます。繰り返してファイルを探してください。元のファイルを Context.openFileOutput() で保存したと仮定します。

サンプルコード(アクティビティ内):

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

Pathクラスのmethodsは構文上のもので、Pathインスタンスに対して作用します。しかし、最終的には特定のパスが存在することを確認するためにfileシステムにアクセスしなければなりません。

 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