2 hi lyz hi_lyz 于 2016.03.12 22:51 提问

FileOutputStream写入内容 55C

app包名下创建了一个TXT,想使用FileOutputStream往里写入数据,可以确定文件创建成功了,安卓权限也开了,但一直写不进去内容,也不报错,望高手提示!

  String fileName = "abcd.txt";
        String fileDir = CacheUtils.getCacheDirectory(mContext, fileName);
        Log.e(TAG, "~~" + fileDir);

        File file = new File(fileDir);
        try {
            FileOutputStream fos = new FileOutputStream(file);

            if (file.exists()) {
                file.delete();
            }
            file.createNewFile();
            fos.write("asd23".getBytes());
            fos.flush();
            fos.close();

        } catch (IOException e1) {
            e1.printStackTrace();
        }

3个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.13 08:32

你确定代码执行过程中没有异常的话,试试刷新下你写入的文件目录 。

hi_lyz
hi_lyz 没用,全是0kb
接近 2 年之前 回复
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.13 13:41

我测试了,去掉String fileDir = CacheUtils.getCacheDirectory(mContext, fileName);这行代码,直接指定我的文件路径为某个路径的话,就能
真确生成一个文件并且内容是写入的内容。
所以,我推测应该就是这行代码的问题。你日志打印下这个fileDir的值是多少呢?

hi_lyz
hi_lyz 还是不行,不是路径问题,我的手机系统是5.1
接近 2 年之前 回复
hi_lyz
hi_lyz 我也怀疑这个问题,可是想想,这个路径有问题文件怎么会创建成功 所以就没有换路径测试了,现在没别的办法只好换下路径试试了
接近 2 年之前 回复
qq_20039385
qq_20039385   2016.03.13 15:53

建议你debug调试下,看看具体是什么地方有问题。如果你的手机是android5.0以上的话还要在手机设置应用里面设置应用允许写的权限

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!