![](/img/trans.png)
[英]IOException: write failed: EBADF (Bad file number)
[英]EBADF bad file number error in android
我正在尝试将.properties文件写入我的android项目的assets文件夹。 我似乎正在加载文件并修改它,但是当我去商店时它会向我吐出这个错误:
12-10 21:19:07.447: W/System.err(1781): java.io.IOException: write failed: EBADF (Bad file number)
我添加了写入的权限,如:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
我找到的Evrything说inputStream必须以某种方式关闭,但我怎么看?
文件名是config.properties,并且“Points = 0”是唯一的数据。
这是我的代码(注意侧滚动条)
public static void write(Context Activity){ // the activity passed in is "this" from the caller, who is an activity
AssetManager am = Activity.getResources().getAssets();
Properties pp = new Properties();
InputStream isConfig = null;
try {
isConfig = am.open("config.properties",Context.MODE_PRIVATE);
pp.load(isConfig);
} catch (IOException e1) {
e1.printStackTrace();
}
pp.setProperty("Points", "1");//This key exists
try {
pp.store(Activity.getAssets().openFd("config.properties").createOutputStream(), null); //This is the problem
isConfig.close();
} catch (FileNotFoundException e) {
System.err.println("file not found");
e.printStackTrace();
} catch (IOException e) {
System.err.println("IO Exception");
e.printStackTrace();
}
}
您无法使用该应用程序写入res / raw或assets文件夹。 您必须修改内容并将其存储在外部存储或内部文件系统或其他位置,但不能存储在res / raw或assets文件夹中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.