Android file.exists()无法正常工作

Android file.exists()无法正常工作,第1张

概述哈o这是一些将数据类写入文件的代码,然后检查该文件是否存在.我可以看到该文件存在于模拟器上,但是file.exists()并因此saveStateAvailable()返回false.privatevoidsaveStateFile(){/*DEBUG*/Log.d(this.getClass().getName(),"saveStateFile:Started");mGam

哈o

这是一些将数据类写入文件的代码,然后检查该文件是否存在.我可以看到该文件存在于模拟器上,但是file.exists()并因此saveStateAvailable()返回false.

    private voID saveStatefile() {    /*DEBUG*/Log.d(this.getClass().getname(), "saveStatefile: Started");    mGameData = getGameData();        try {            fileOutputStream fileoutputstream = openfileOutput(mGameData.pilotname + STATE_file_EXTENSION, Context.MODE_WORLD_WRITEABLE);            ObjectOutputStream objectoutputstream;            objectoutputstream = new ObjectOutputStream(fileoutputstream);            objectoutputstream.writeObject(mGameData);            objectoutputstream.close();            fileoutputstream.close();            /*DEBUG*/Log.i(this.getClass().getname(), "saveStatefile: State saved to "+mGameData.pilotname + STATE_file_EXTENSION);        } catch (IOException e) {            /*DEBUG*/Log.e(this.getClass().getname(), "saveStatefile: Error writing data state file, "+mGameData.pilotname + STATE_file_EXTENSION);            e.printstacktrace();        }    /*DEBUG*/Log.d(this.getClass().getname(), "saveStatefile: Finished statefileAvailable="+statefileAvailable());}private boolean statefileAvailable() {    file file = new file(mGameData.pilotname + STATE_file_EXTENSION);    /*DEBUG*/Log.d(this.getClass().getname(), "statefileAvailable: Called ("+mGameData.pilotname + STATE_file_EXTENSION+" exists = "+file.exists()+")");    return file.exists();}

有任何想法吗?

-皱纹

解决方法:

您需要使用Context#getFileStreamPath(String),其中字符串是您尝试访问的file对象的文件名.然后,您可以在该对象上调用file#exists.所以:

file file = getfileStreamPath(mGameData.pilotname + STATE_file_EXTENSION);

使您可以访问file对象,该对象指向私有应用程序存储区域中的正确位置.

您的代码将要执行的 *** 作是访问文件/<您的文件名>.在根路径上.您的文件显然不存在.

总结

以上是内存溢出为你收集整理的Android file.exists()无法正常工作全部内容,希望文章能够帮你解决Android file.exists()无法正常工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1092679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存