我正在尝试简单检查文件是否存在.我在这里看到了类似的问题,但他们没有帮助.当我运行我的应用程序时,应用程序崩溃,我得到消息“不幸的是,fileCheck1已经停止”.我在模拟器和智能手机上都出现了这个错误.
我的代码:
package com.example.fileCheck1;import androID.app.Activity;import androID.os.Bundle;import androID.os.Environment;import androID.Widget.TextVIEw;import java.io.file;public class MyActivity extends Activity { TextVIEw msgText; @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); msgText = (TextVIEw) findVIEwByID(R.ID.textVIEw); String Path = Environment.getExternalStorageDirectory().getPath()+"/Ping.xml"; file file = getBaseContext().getfileStreamPath(Path); if(file.exists()){ msgText.setText("Found"); } if(!file.exists()){ msgText.setText("Not Found"); } }}
在我的清单中这样的权限:
<uses-permission androID:name="androID.permission.INTERNET"></uses-permission><uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
提前致谢.
解决方法:
我认为这个问题在这里:
getBaseContext()
它被分配给NulL.你真的不需要这条线.你可以简单地实现你的目标
String path = Environment.getExternalStorageDirectory().getPath() + "/Ping.xml";file f = new file(path);if (f.exists()) { // do your stuff}else { // do your stuff}
更新:
如果您或其他人拥有三星galaxy S3,请关注@ Raghunandan的回答,因为在这种情况下,getExternalStorageDirectory()会返回内部存储器.
总结以上是内存溢出为你收集整理的android – 无法检查SD卡上的文件是否存在全部内容,希望文章能够帮你解决android – 无法检查SD卡上的文件是否存在所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)