Android file.exists因未知原因返回false

时间:2018-08-16 01:50:56

标签: android file

代码如下:

        public void fromJs() throws Exception {

    mAuth = FirebaseAuth.getInstance();

    String data = null;
    File file;

    Toast.makeText(this, "" + mAuth.getCurrentUser().getUid(), Toast.LENGTH_SHORT).show();

    file = new File(Main3Activity.this.getFilesDir(), mAuth.getCurrentUser().getUid() + ".json");

    Toast.makeText(this, "" + file, Toast.LENGTH_SHORT).show();

    if (file.exists()) {

        Toast.makeText(this, "FILE exists", Toast.LENGTH_SHORT).show();

       FileInputStream fin = new FileInputStream(file);

        data = convertStreamToString(fin);

        ArrayList<Item> v = new Gson().fromJson(data, new TypeToken<ArrayList<Item>>() {
        }.getType());




        fin.close();



        new BackGroundWorkerInserItems().execute(v);

    }else {


        Toast.makeText(Main3Activity.this, "NO FILE EXISTS", Toast.LENGTH_SHORT).show();


    }

}

当我首先单击该按钮时,它说该文件不存在,但是如果再次单击它,那么它可以工作了,我在这里呆了3个小时,试图找出问题所在,但是代码看起来还不错,但可以正常工作之前,我将错误追溯到该函数,但我不知道该怎么办,这使我发疯。

请注意,该文件确实存在,可以从服务器下载该文件,然后启动该功能。

1 个答案:

答案 0 :(得分:0)

您已检查用户身份验证,由于用户身份验证无效,它可能返回false。创建另一个用户以查看其是否有效。