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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
读取()txt文件中的内容与向txt文件中写入内容(覆盖重写与在末尾续写+FileOutputStream与FileWriter)
读取()txt文件中的内容与向txt文件中写入内容(覆盖重写与在末尾续写+FileOutputStream与FileWriter)
FileInputStream从文件中读取,FileOutputStream写入时会多写入内容
问题说明: FileInputStream从in.txt文件中读取文本,再FileOutputStream写入out.txt时会多写入内容,如下文本out.txt文件文本会多出一段“sss”文本内容。而缩短in.txt文本长度时,out.txt文件有时又不会出现多写入文本的现象。 暂时解决:如代码中 [java] view plaincopy
JAVA FileOutputStream写文件覆盖问题
今天向文件里写数据的时候发现每次写入新的数据,之前被写入的数据都会被覆盖掉。 class Test{ public static void main(String[] args) throws Exception { File dir = new File("d:\\ttttt"); dir.mkdirs(); File file = new File("d:\\ttttt\\
IO流_FileOutputStream写出数据实现换行和追加写入
package cn.itcast_01; import java.io.FileOutputStream; import java.io.IOException; /* * 如何实现数据的换行? * 为什么现在没换行呢?因为你只写了字节数据,并没有写入换行符号。 * 如保实现呢?写入换行符号即可呗。 * 看到有些文本文件是可以的,通过windows自带的那个不行,为什么呢
FileOutputStream写出数据加入异常处理
package gxx20;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class FileException { public static void main(String[] args) { // 为了在finally里面能够看到...
java 写入文件(FileOutputStream的使用)
实现在控制台写入相关文字,并添加到指定的文件中,并实现读取文件内容 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Scanner; public class Fileout { Scanner inScanner =
用FileOutputStream跟FileInputStream写入并读取txt文件
package com.dome.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class FileTest { static File fi=new File("
Java IO操作之文件读取与写入 无乱码FileOutputStream FileInputStream使用-IO写utf-8乱码问题
在Java里可以通过FileInputStream和InputStreamReader读取文件内容,通过FileOutputStream和OutputStreamWriter来写入数据到文件.InputStreamReader和OutputStreamWriter可以设置指定的字符编码来杜绝乱码.下面的例子是一个写入和读取本地文件的代码. 上代码: 1 2 3 4 5 6
java中FileOutputStream流,向文件中追加内容,而不是覆盖掉文件中原有的数据
public FileOutputStream(String name,boolean append) throws FileNotFoundException 创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。 new 的时候加一个true参数则是追加。默认为false,则是覆盖。
java的FileOutputStream写出数据到文件
package net.csdn.outputStream; import java.io.File; import java.io.FileOutputStream; /** * Created by rabbit先生 on 2017/3/12 0012. */ public class FileOutputStreamDemo { public static void main(S