Android 创建文件,删除文件,加载本地txt文件,string转txt文件,创建文件夹,读取文件夹,open failed: ENOENT

 

android:requestLegacyExternalStorage="true"
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
   <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
       tools:ignore="ProtectedPermissions"/>

 

 

1、创建文件

String fileName = "my.txt";
File fs = new File(Environment.getExternalStorageDirectory() + "/msc/" + fileName);

安卓10内存文件 

String downFileDir = context.getFilesDir().getAbsolutePath();
File dest = new File(downFileDir, tempName);

msc可要可不要   或者是"/"

创建图片文件

final File file = File.createTempFile(UUID.randomUUID().toString() + "", ".jpg");

2、删除文件

                String ss = "/mnt/sdcard/my.txt";
//                String ss = "/storage/emulated/0/Pictures/Screenshots/Screenshot_20190814-141238.jpg";
                File file = new File(ss);
                if (file.exists()){
                file.delete();
                }

 /mnt/sdcard/     等于   /storage/emulated/0/

3、string转为本地txt文件

String fileName = "my.txt";
File fs = new File(Environment.getExternalStorageDirectory()+"/"  + fileName);
if (fs.exists()){
    fs.delete();
}
String charset = "UTF-8";
// 写字符换转成字节流
try {
    FileOutputStream outputStream = new FileOutputStream(fs);
    OutputStreamWriter writer = new OutputStreamWriter(
            outputStream, charset);
    try {
        writer.write("这是要保存的中文字符aaabbbb大范围sdfsdfsf");
    } finally {
        writer.close();
    }

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

文件夹不存在时——open failed: ENOENT (No such file or directory)。解决方法----创建文件夹即可

if (fs.exists()){
    fs.delete();
}else {
    fs.getParentFile().mkdirs();
}

4、读取本地txt文件,转为string

String fname = "/mnt/sdcard/my.txt";
private String loadTXTFromSDFile(String fname) {
    String result=null;
    try {
        File f=new File(fname);
        int length=(int)f.length();
        byte[] buff=new byte[length];
        FileInputStream fin=new FileInputStream(f);
        fin.read(buff);
        fin.close();
        result=new String(buff,"UTF-8");
    }catch (Exception e){
        e.printStackTrace();
    }
    return result;
}

5、创建文件夹

// 文件存储
private File updateDir = null;
// 创建文件
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
    updateDir = new File(Environment.getExternalStorageDirectory(), "data/cn.dlc.xiaoyao/msc2");
    if (!updateDir.exists()) {
        updateDir.mkdirs();
        LogPlus.i("lgq","bbh-ss-video_savePath--333-  ");
    }
}

6、读取文件夹内容 

File sceneFile = new File(Environment.getExternalStorageDirectory(), "data/cn.dlc.xiaoyao/msc1");
LogPlus.i("lgq","bbh-ss-video_savePath---  "+sceneFile.exists());

File[] files = sceneFile.listFiles();

if (null != files) {

    for (int i = 0; i < files.length; i++) {

        LogPlus.e("lgq文件夹下的文件:" + files[i].getName()+"......"+files[i].getPath()+"..."+getAudioFileVoiceTime(files[i].getPath()));

    }

}

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值