Android 如何通过编程确定文件是否已经存在?

Android 如何通过编程确定文件是否已经存在?,android,file,Android,File,实际上,当应用程序运行时,我正在开发一个应用程序 第一次,它将创建一个txt文件,如果该文件已经存在,那么它将简单地将其写入该文件。 但我不知道如何通过程序检查 文件是否存在。我已尝试 try { FPartyCreation = new File ("/data/data/com.MediExcel/files/","dbPartyCreation.dat"); if (FPartyCreation.exists()) {

实际上,当应用程序运行时,我正在开发一个应用程序 第一次,它将创建一个txt文件,如果该文件已经存在,那么它将简单地将其写入该文件。
但我不知道如何通过程序检查 文件是否存在。我已尝试

try  
    {  
        FPartyCreation = new File ("/data/data/com.MediExcel/files/","dbPartyCreation.dat");  
        if (FPartyCreation.exists())  
        {  
            writeOnFile();
        }  
        else  
        {  
            FPartyCreation.createNewFile();  
            writeOnFile();
        }  
    }  
    catch (IOException ioe)  
    {  
        ioe.printStackTrace();  
    }  
但它给出了以下错误,并且文件不是在同一路径上创建的

07-06 01:39:26.183: E/AndroidRuntime(23107): FATAL EXCEPTION: main
07-06 01:39:26.183: E/AndroidRuntime(23107): java.lang.NullPointerException
07-06 01:39:26.183: E/AndroidRuntime(23107):    at com.MediExcel.AddMethodPartyCreation.getMethod(AddMethodPartyCreation.java:28)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at com.MediExcel.PartyCreationActivity$1.onClick(PartyCreationActivity.java:64)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at android.view.View.performClick(View.java:3511)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at android.view.View$PerformClick.run(View.java:14105)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at android.os.Handler.handleCallback(Handler.java:605)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at android.os.Looper.loop(Looper.java:137)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at android.app.ActivityThread.main(ActivityThread.java:4424)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at java.lang.reflect.Method.invokeNative(Native Method)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at java.lang.reflect.Method.invoke(Method.java:511)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-06 01:39:26.183: E/AndroidRuntime(23107):    at dalvik.system.NativeStart.main(Native Method)
请帮帮我


感谢创建SQLite数据库-

public class DatabaseHelper extends SQLiteOpenHelper {

static final String dbName="demoDB";
static final String employeeTable="Employees";
static final String colID="EmployeeID";
static final String colName="EmployeeName";
static final String colAge="Age";
static final String colDept="Dept";

static final String deptTable="Dept";
static final String colDeptID="DeptID";
static final String colDeptName="DeptName";

static final String viewEmps="ViewEmps";
创建数据库

public void onCreate(SQLiteDatabase db) 
{
    // TODO Auto-generated method stub

    db.execSQL("CREATE TABLE "+deptTable+" ("+colDeptID+ " INTEGER PRIMARY KEY , "+
    colDeptName+ " TEXT)");

  db.execSQL("CREATE TABLE "+employeeTable+" 
    ("+colID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+
        colName+" TEXT, "+colAge+" Integer, "+colDept+" 
    INTEGER NOT NULL ,FOREIGN KEY ("+colDept+") REFERENCES 
    "+deptTable+" ("+colDeptID+"));");


  db.execSQL("CREATE TRIGGER fk_empdept_deptid " +
    " BEFORE INSERT "+
    " ON "+employeeTable+

    " FOR EACH ROW BEGIN"+
    " SELECT CASE WHEN ((SELECT "+colDeptID+" FROM "+deptTable+" 
    WHERE "+colDeptID+"=new."+colDept+" ) IS NULL)"+
    " THEN RAISE (ABORT,'Foreign Key Violation') END;"+
    "  END;");

  db.execSQL("CREATE VIEW "+viewEmps+
    " AS SELECT "+employeeTable+"."+colID+" AS _id,"+
    " "+employeeTable+"."+colName+","+
    " "+employeeTable+"."+colAge+","+
    " "+deptTable+"."+colDeptName+""+
    " FROM "+employeeTable+" JOIN "+deptTable+
    " ON "+employeeTable+"."+colDept+" ="+deptTable+"."+colDeptID
    );
  //Inserts pre-defined departments
  InsertDepts(db);  
 }

看看这个博客。希望本博客足以满足您的查询。

我们不打算在这里为您编写代码,我们可以帮助您发现错误或解释一些您不理解但需要先尝试的内容。网上有很多这样的例子。请检查我编辑的问题。不要再问有趣的问题了……这个数据库存储在哪里?@MahiMali
这个数据库存储在哪里?
意思是。它将存储在工作区的DDMS中。请检查我编辑的问题。