public async static Task <byte[]> GetByteContent(this string path, StorageTarget?target = null) { byte[] buff = null; try { string filename = path.Replace("/", "\\"); StorageFolder storageFolder = await _getFolderByType(target); StorageFile storageFile = await storageFolder.GetFileAsync(filename); if (storageFile != null) { var ibuff = await FileIO.ReadBufferAsync(storageFile); if (ibuff != null) { using (var dataReader = DataReader.FromBuffer(ibuff)) { buff = new byte[ibuff.Capacity]; dataReader.ReadBytes(buff); } } } } catch (Exception ex) { Debug.WriteLine(ex.Message); } return(buff); }
public async static void CreatDirectory(this string filename, StorageTarget?target = null) { try { StorageFolder storageFolder = await _getFolderByType(target); filename = filename.Replace("/", "\\"); string foldername = string.Empty; if (filename.LastIndexOf("\\") > 0) { foldername = filename.Substring(0, filename.LastIndexOf("\\")); } if (!string.IsNullOrEmpty(foldername)) { string[] arrdirectory = foldername.Split('\\'); string currdirectory = ""; for (int i = 0; i < arrdirectory.Length; i++) { currdirectory = currdirectory + (i == 0 ? "" : "\\") + arrdirectory[i]; await storageFolder.CreateFolderAsync(currdirectory, CreationCollisionOption.OpenIfExists); } } } catch (Exception ex) { Debug.WriteLine(ex.Message); } }
private static async Task <StorageFolder> _getFolderByType(StorageTarget?target = null) { StorageFolder folder = ApplicationData.Current.LocalFolder; switch (target) { case StorageTarget.music: folder = KnownFolders.MusicLibrary; break; case StorageTarget.pic: folder = KnownFolders.PicturesLibrary; break; case StorageTarget.video: folder = KnownFolders.VideosLibrary; break; case StorageTarget.SD: StorageFolder externalDevices = KnownFolders.RemovableDevices; IReadOnlyList <StorageFolder> folderList = await externalDevices.GetFoldersAsync(); for (int i = 0; i < folderList.Count; i++) { if (folderList[i].Attributes == FileAttributes.Directory) { folder = folderList[i]; break; } } break; case StorageTarget.temp: folder = ApplicationData.Current.TemporaryFolder; break; case StorageTarget.cameraroll: folder = KnownFolders.CameraRoll; break; } return(folder); }
public async static Task <bool> DeleteDirectory(this string foldername, StorageTarget?target = null) { try { bool result = true; foldername = foldername.Replace("/", "\\"); StorageFolder storageFolder = await _getFolderByType(target); StorageFolder currentFolder = await storageFolder.GetFolderAsync(foldername); await currentFolder.DeleteAsync(StorageDeleteOption.PermanentDelete); return(result); } catch (Exception e) { Debug.WriteLine(e.Message); return(false); } }
public async static Task <bool> DeleteFile(this String filename, StorageTarget?target = null) { try { bool result = true; filename = filename.Replace("/", "\\"); StorageFolder storageFolder = await _getFolderByType(target); StorageFile storageFile = await storageFolder.GetFileAsync(filename); await storageFile.DeleteAsync(); return(result); } catch (Exception ex) { Debug.WriteLine(ex.Message); return(false); } }
public async static Task <string> Exist(this string filename, StorageTarget?target = null) { try { filename = filename.Replace("/", "\\"); StorageFolder storageFolder = await _getFolderByType(target); StorageFile storageFile = await storageFolder.GetFileAsync(filename); if (storageFile != null) { return(filename.Replace("\\", "/")); } return(string.Empty); } catch (Exception ex) { Debug.WriteLine(ex.Message); return(string.Empty); } }
/// <summary> /// folder has file num /// </summary> /// <param name="folder"></param> /// <param name="target"></param> /// <returns></returns> public async static Task <int> GetFileCount(this string folder, StorageTarget?target = null) { int count = 0; try { StorageFolder storageFolder = await _getFolderByType(target); StorageFolder targetFolder = await storageFolder.GetFolderAsync(folder); if (targetFolder != null) { IReadOnlyList <StorageFile> files = await targetFolder.GetFilesAsync(); count = files.Count; } } catch (Exception ex) { Debug.WriteLine(ex.Message); } return(count); }
public async static Task <string> Save(this byte[] source, string filename, StorageTarget?target = null) { try { StorageFolder storageFolder = await _getFolderByType(target); if (!string.IsNullOrEmpty(filename)) { filename = filename.Replace("/", "\\"); string foldername = string.Empty; if (filename.LastIndexOf("\\") > 0) { foldername = filename.Substring(0, filename.LastIndexOf("\\")); } if (!string.IsNullOrEmpty(foldername)) { string[] arrdirectory = foldername.Split('\\'); string currdirectory = ""; for (int i = 0; i < arrdirectory.Length; i++) { currdirectory = currdirectory + (i == 0 ? "" : "\\") + arrdirectory[i]; await storageFolder.CreateFolderAsync(currdirectory, CreationCollisionOption.OpenIfExists); } } StorageFile storageFile = await storageFolder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting); await FileIO.WriteBytesAsync(storageFile, source); } return(filename.Replace("\\", "/")); } catch (Exception ex) { Debug.WriteLine(ex.Message); return(string.Empty); } }
public async static Task <string> GetContent(this string filename, StorageTarget?target = null) { try { filename = filename.Replace("/", "\\"); string content = string.Empty; string filePath = await Exist(filename); if (!string.IsNullOrEmpty(filePath)) { StorageFolder storageFolder = await _getFolderByType(target); StorageFile storageFile = await storageFolder.GetFileAsync(filename); content = await FileIO.ReadTextAsync(storageFile); } return(content); } catch (Exception ex) { Debug.WriteLine(ex.Message); return(string.Empty); } }
public async static Task <string> GetContent(this string filename, string foldername, StorageTarget?target = null) { try { foldername = foldername.Replace("/", "\\"); string content = string.Empty; string filePath = await Exist(foldername, filename); if (!string.IsNullOrEmpty(filePath)) { if (!string.IsNullOrEmpty(foldername)) { filename = foldername + "\\" + filename; } content = await GetContent(filename, target); } return(content); } catch (Exception ex) { Debug.WriteLine(ex.Message); return(string.Empty); } }
public async static Task <string> Save(this string source, string foldername, string filename, StorageTarget?target = null) { byte[] bytes = System.Text.Encoding.UTF8.GetBytes(source); return(await Save(bytes, foldername, filename, target)); }