在Xamarin跨平台中,是否有可能复制文件?例如将SQLlite db3从一个目录复制到另一个目录。我只能获得文件的路径。
我已经找到了Xamarin.Android和iOS的解决方案,但我希望它们合并为一个可移植类。
编辑
也许有更好的解决方案,但这是我使用PCL存储得到的结果。
IFile file = FileSystem.Current.GetFileFromPathAsync(src).Result;
IFolder rootFolder = FileSystem.Current.GetFolderFromPathAsync(dest).Result;
IFolder folder = rootFolder.CreateFolderAsync("MySubFolder", CreationCollisionOption.OpenIfExists).Result;
IFile newFile = folder.CreateFileAsync("TodoItem.db3", CreationCollisionOption.GenerateUniqueName).Result;
Stream str = file.OpenAsync(FileAccess.ReadAndWrite).Result;
Stream newStr = newFile.OpenAsync(FileAccess.ReadAndWrite).Result;
byte[] buffer = new byte[str.Length];
int n;
while ((n = str.Read(buffer, 0, buffer.Length)) != 0)
newStr.Write(buffer, 0, n);
str.Dispose();
newStr.Dispose();