flutter创建文件文件夹

4,853 阅读1分钟
  1. 创建文件夹
    static Future<String> saveVoiceDirectory(String url) async {
     requestPermission();
     final filepath = await getApplicationDocumentsDirectory();
     var file = Directory(filepath.path + "/" + url);
     try {
       bool exists = await file.exists();
       if (!exists) {
         await file.create();
         print("创建成功");
       } else {
         print("已存在");
       }
     } catch (e) {
       print(e);
     }
     return file.path.toString();
    }
    
  • getApplicationDocumentsDirector需要倒入 path_provider: path_provider: ^1.6.10
  1. 创建文件

    saveVoiceDirectory("flutter").then((value) {
       File file = new File(
           value + "/" + "${DateTime.now().millisecondsSinceEpoch}.pcm");
       if (!file.existsSync()) {
         file.createSync();
       }
     });  
    
  2. 文件权限

     static Future requestPermission() async {
     if (await Permission.contacts.request().isGranted) {
       // Either the permission was already granted before or the user just granted it.
     }
       // You can request multiple permissions at once.
     Map<Permission, PermissionStatus> statuses = await [
       Permission.storage,
     ].request();
     print(statuses[Permission.storage]);
    }
    
  • 倒入权限库: permission_handler: ^5.0.1+1