【问题标题】:Android file.exists returns false for reasons unknown由于未知原因,Android file.exists 返回 false
【发布时间】:2018-08-16 01:50:56
【问题描述】:

代码如下:

        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 个小时试图找出问题所在,但代码看起来很好它工作正常早些时候,我将错误追溯到这个函数,我不知道该怎么办,它让我发疯。

请注意该文件确实存在,它是从服务器下载的,然后我启动此功能。

【问题讨论】:

  • 我没有看到任何按钮。

标签: android file


【解决方案1】:

您是否检查过用户身份验证,它可能会返回 false,因为用户身份验证不起作用。创建另一个用户,看看它是否有效。

【讨论】:

  • 用户不是假的,因为 toast 正在返回用户 ID
猜你喜欢
  • 2013-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-29
  • 1970-01-01
相关资源
最近更新 更多