找不到太多关于如何读取SD卡或存储上某处的文件,而是在android项目目录中找到的文件。
我不断收到 FileNotFoundException 。这就是我声明文件的方式,
File SPPolicy = new File("SHPR_policy");
将它放入 src /目录, src / [[package]] /目录和主项目目录时,我遇到了同样的错误,我收到这个错误:
java.io.FileNotFoundException: /SHPR_policy: open failed: ENOENT (No such file or directory)
我有什么地方可以放这个文件吗?是因为我的文件没有扩展名(我在SHPR_policy之前注意到了“/”但是我认为这不是问题,因为 Eclipse 让我创建一个没有扩展名的文件)?
答案 0 :(得分:0)
将文件保存在原始文件夹中,然后尝试以下代码。
try
{
Resources res = getResources();
InputStream in_s = res.openRawResource(R.raw.test);
byte[] b = new byte[in_s.available()];
in_s.read(b);
txtHelp.setText(new String(b));
} catch (Exception e) {
// e.printStackTrace();
txtHelp.setText("errr.");
}
答案 1 :(得分:0)
使用以下代码检查文件是否已创建:
File f;
f=new File("myfile");
if(!f.exists()){
f.createNewFile();
}
此外,如果要在外部目录中分配文件,可以使用以下代码:
File newxmlfile = new File( Environment.getExternalStorageDirectory() + "/new.xml");
XmlSerializer serializer = Xml.newSerializer();
try {
newxmlfile.createNewFile();
} catch (Exception e) {
Log.e("IOException", "exception in createNewFile() method", e);
}
并且,您是否在清单中添加了权限以便能够操作文件?
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
答案 2 :(得分:0)
您应该将文件放在assets文件夹中并使用:
InputStream ims = getAssets().open("SHPR_policy");