Android 检查Kotlin中是否存在文件而不创建该文件

Android 检查Kotlin中是否存在文件而不创建该文件,android,kotlin,sharedpreferences,file-exists,Android,Kotlin,Sharedpreferences,File Exists,相关的答案已经检查过了,但它们并没有完全针对我的情况 在我的应用程序开始时,通过以下代码检查文件是否存在:someFile.exists()。然而,我发现,如果用户使用菜单项和后退按钮在应用程序内部导航,代码的行为类似于创建someFile——尽管创建并写入someFile的应用程序片段根本不会触发。我想这是因为系统创建了一个File对象来运行exists()方法,该对象导致someFile.exists()在下一次调用中返回true 我怎样才能解决这个问题 是否有防弹方法来检查SharedRe

相关的答案已经检查过了,但它们并没有完全针对我的情况

在我的应用程序开始时,通过以下代码检查文件是否存在:
someFile.exists()
。然而,我发现,如果用户使用菜单项和后退按钮在应用程序内部导航,代码的行为类似于创建
someFile
——尽管创建并写入
someFile
的应用程序片段根本不会触发。我想这是因为系统创建了一个File对象来运行
exists()
方法,该对象导致
someFile.exists()
在下一次调用中返回
true

  • 我怎样才能解决这个问题

  • 是否有防弹方法来检查SharedReferences文件是否存在


  • 如果只检查文件是否存在,File类将不会创建文件。只要不区分哪个类的“someFile”是实例,我们就可以猜测。共享首选项文件?一些文件?你在说什么?请输入代码。blackapps,谢谢回复。我无法共享代码,因为我修改了很多。当我调试之前的代码时,我看到在
    if(someFile.exists())
    行中,代码返回了
    true
    ,尽管我确信我没有手动将任何字符串放入
    someFile
    中。无论如何,我将尝试恢复以前的代码,以便您能够更好地理解。@blackapps我使用Log.v再次尝试了代码。它看起来像一次“代码> OnEngult< /Cord>”,即使它在中间启动了一个新的活动(例如IF语句),它也会运行到最后。如果是这种情况,它可能会解释创建文件的原因。如果只检查文件是否存在,则file类不会创建文件。只要您不知道哪个类的“someFile”是您可以猜测的实例。共享首选项文件?一些文件?你在说什么?请输入代码。blackapps,谢谢回复。我无法共享代码,因为我修改了很多。当我调试之前的代码时,我看到在
    if(someFile.exists())
    行中,代码返回了
    true
    ,尽管我确信我没有手动将任何字符串放入
    someFile
    中。无论如何,我将尝试恢复以前的代码,以便您能够更好地理解。@blackapps我使用Log.v再次尝试了代码。它看起来像一次“代码> OnEngult< /Cord>”,即使它在中间启动了一个新的活动(例如IF语句),它也会运行到最后。如果是这种情况,它可能会解释创建文件的原因。