首页 新闻 赞助 找找看

android中FileOutputStream初始化的问题。

0
悬赏园豆:50 [已解决问题] 解决于 2014-10-20 15:30

FileOutputStream fos = openFileOutput("FileDemo1.txt", MODE_PRIVATE);

这个openFileOutput()是怎么调用的呢?

根据源码看是ContextWrapper的方法:

public FileOutputStream openFileOutput(String name, int mode)
throws FileNotFoundException {
return mBase.openFileOutput(name, mode);
}

但是这个方法直接调用的context的抽象方法:

public abstract FileOutputStream openFileOutput(String name, int mode)
throws FileNotFoundException;

没有找到从哪里初始化的。我碰到的问题是打开输出流的时候channel属性为空,我想找下是从哪获取的。 

问题补充:

经过debug观察栈信息,发现调用的是ContextImpl.openFileOutput();

但是这个文件android.jar里是没有的,官方的api里也没有context的继承关系,如何引用的还不知道,求个ContextImpl.java的源码,给全分。

菜鸟快跑的主页 菜鸟快跑 | 初学一级 | 园豆:6
提问于:2014-10-03 14:36
< >
分享
最佳答案
1

你要源码在apache-ode-src-1.2.z

下载地址:

http://www.verysource.com/apache-ode-src-1-2-z-210388.html

收获园豆:50
LiuKaiFa | 小虾三级 |园豆:1491 | 2014-10-04 15:13

没有找到啊,虽然有同名的,但是不是android里的

菜鸟快跑 | 园豆:6 (初学一级) | 2014-10-05 08:17

@菜鸟快跑: android的很多东西都来自开源的apache工程及其他开源工程。

比如你从手机的sdcard中读一个文件,数据读出后要进行编码转换,就要用“import org.apache.http.util.EncodingUtils”

等等

LiuKaiFa | 园豆:1491 (小虾三级) | 2014-10-05 14:01

@LiuKaiFa: 我看到你给我发的邮件了,我的sdk里面没有下载sources的选项呢,sdk文件夹下也没有。hosts我已经改了,能连通谷歌服务器。

菜鸟快跑 | 园豆:6 (初学一级) | 2014-10-08 11:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册