安卓中向手机写入txt文件失败?

         一、二、三是创建文件的过程,四是为何失败的原因,希望能够帮到大家!

一,获取手机读写权限

      在androidmanifest文件中添加以下权限,代码如下:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

二,写一个读写的类

     我把它命名为TxtWrite,代码如下:


import android.os.Environment;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class TxtWrite {

    private File file = null;

    public File getFile() {
        return file.getAbsoluteFile();
    }

    public TxtWrite(String str) {
        super();
        //表示在根目录下创建一个子目录,"/"表示文件分隔符
        this.file = new File(Environment.getExternalStorageDirectory() + "/" + str);

    }


    /**
     * @Title: doWriteTxt
     * @Description: 写txt
     * @param  @param str4Write 待写入的数据
     * @param  @param flag 选择追加还是重新创建txt文本,true为追加
     * @return void
     * @throws
     */
    @SuppressWarnings("ResultOfMethodCallIgnored")
    public void doWriteTxt(String str4Write, boolean flag) {

        FileOutputStream fos = null;
        try {

                fos = new FileOutputStream(file, flag);
                fos.write(str4Write.getBytes()); //以字节形式向文件中添加
                fos.close();

        } catch (Exception e) {
            e.printStackTrace();
        } finally {

        }
    }
}

三、调用该类

//构造一个名字叫test的txt文件
txtWrite = new TxtWrite("test.txt"); 

//声明为true,表示可以向文件中添加内容,\r表示空一行后换行、\n表示换行符。
txtWrite.doWriteTxt("\r"+"***"+Headline+"****"+"\n",true);

四、总结

         Android 10以后想在手机里面创建文件,必须要在AndroidManifest中的Application里面添加一个声明:

android:requestLegacyExternalStorage="true"

因为这个问题,浪费了我2个小时啊!!简直搞事情!

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值