• Dart: 编码和解码各种存档和压缩格式


    import 'dart:io';
    import 'package:path/path.dart' as p;
    import 'package:path/path.dart';
    import 'package:archive/archive.dart';
    import 'package:archive/archive_io.dart';
    
    var path = p.Context(style: Style.posix);
    final String __filename = Platform.script.path.replaceFirst('/', '');
    final String __dirname = Directory(__filename).parent.path;
    
      // 从磁盘读取Zip文件
      List<int> bytes = File(path.join(__dirname, 'test-a-master.zip')).readAsBytesSync();
    
      // 解码Zip文件
      Archive archive = ZipDecoder().decodeBytes(bytes);
    
      // 将Zip存档的内容解压缩到磁盘
      for (ArchiveFile file in archive) {
        String filename = file.name;
        String decodePath = path.join(__dirname, filename);
        if (file.isFile) {
          List<int> data = file.content;
          File(decodePath)
            ..createSync(recursive: true)
            ..writeAsBytesSync(data);
        } else {
          Directory(decodePath)..create(recursive: true);
        }
      }
    
  • 相关阅读:
    MyBatis-Plus使用(4)-集成SpringBoot
    MyBatis-Plus使用(3)-条件构造器
    Logback日志格式优化,解决输出***@2b193f2d问题
    MyBatis-Plus使用(2)-CRUD接口
    数组
    switch结构
    if的使用
    new函数
    指针
    常量和iota
  • 原文地址:https://www.cnblogs.com/ajanuw/p/10915005.html
Copyright © 2020-2023  润新知