我想在Xamarin Forms Cross Platform中創建一個zip文件。 我爲每個平臺,iOS和Android使用自定義的方式。 在iOS中使用庫ZipArchive,但我沒有找到Android的替代方案。在Xamarin Forms中創建Zip文件Android
所以我嘗試做它本地(創建只有一個文件的zip),但zip文件被創建爲空。
public void Compress(string path, string filename, string zipname)
{
var personalpath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
string folder = Path.Combine(personalpath, path);
string zippath = Path.Combine(folder, zipname);
string filepath = Path.Combine(folder, filename);
System.IO.FileStream fos = new System.IO.FileStream(zippath, FileMode.OpenOrCreate);
Java.Util.Zip.ZipOutputStream zos = new Java.Util.Zip.ZipOutputStream(fos);
ZipEntry entry = new ZipEntry(filename.Substring(filename.LastIndexOf("/") + 1));
byte[] fileContents = File.ReadAllBytes(filepath);
zos.Write(fileContents);
zos.CloseEntry();
}
應該丟棄fos和zos。不知道這是否能解決你的問題。 –
你是對的!需要關閉ZOS並部署FOS – jpintor
我已將您的評論和解決方案移至社區wiki。 –