Io 以字节形式读取目录
我正在尝试使用构建一个归档文件,我需要归档整个目录 到目前为止,我可以通过执行以下操作来归档单个文件:Io 以字节形式读取目录,io,dart,Io,Dart,我正在尝试使用构建一个归档文件,我需要归档整个目录 到目前为止,我可以通过执行以下操作来归档单个文件: io.File File=new io.File(pathToMyFile); List bytes=wait file.readAsBytes(); io.FileStat stats=wait file.stat(); 存档=新存档(); addFile(新的ArchiveFile.noCompress('config.yaml',stats.size,bytes) ..模式=统计模式 .
io.File File=new io.File(pathToMyFile);
List bytes=wait file.readAsBytes();
io.FileStat stats=wait file.stat();
存档=新存档();
addFile(新的ArchiveFile.noCompress('config.yaml',stats.size,bytes)
..模式=统计模式
..lastModTime=stats.modified.millis秒);
List data=new ZipEncoder().encode(存档,级别:Deflate.NO_压缩);
等待新的io.File('output.war')。writeAsBytes(数据,flush:true);
但是要创建一个ArchiveFile
我需要表示文件的字节,但是我觉得将整个目录作为字节来完成这项工作会很好。有办法做到这一点吗?看起来Dart API的应用非常有限
一个人通常如何去复制一个目录?只需呼叫系统
cp
?我的意思是,我想得到一个能在多个平台上工作的解决方案。你可以一个文件一个文件递归地完成。Grinder有一项任务,请看一下实现
您可以使用
var文件列表=
新建io.Directory(path.join(io.Directory.current.absolute.path,'lib'))
.list(递归:true,followLinks:false);
然后处理一个又一个文件。出于好奇,您是否尝试过在存档中创建目录?(或者您是否会使用
存档
包来创建未压缩的存档文件?)不,我不知道存档包。它似乎不支持像目录这样的东西。也许您可以添加一个相对路径为somedir/somesubdir/somefile.xxx
的文件,或者用名称对路径进行编码。目录是“虚拟”的,没有显式添加。只需添加文件名及其相对路径。