首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

Windows 8 開發入門(十三):檔案與資料夾進階操作——刪除、移動、複製、重命名

     編輯:關於C#

承接上篇,本文專注 StorageFile 與 StorageFolder 的進階 CRUD 操作,所有 API 均為非同步(await)。

前端介面:按鈕矩陣

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <TextBox Name="tbFileName" Text="test.txt" .../>
    <TextBox Name="tbContent" Text="預設檔案內容" .../>
    <TextBlock Name="tb_show" .../>

    <!-- 檔案操作 -->
    <Button Name="btnCreateFile" Content="建立並寫入檔案" Click="btnCreateFile_Click" .../>
    <Button Name="btnReadFile" Content="讀取字串檔案" Click="btnReadFile_Click" .../>
    <Button Name="btnDeleteFile" Content="刪除檔案" Click="btnDeleteFile_Click" .../>
    <Button Name="btnMoveFile" Content="移動檔案" Click="btnMoveFile_Click" .../>
    <Button Name="btnCopyFile" Content="複製檔案" Click="btnCopyFile_Click" .../>
    <Button Name="btnReNameFile" Content="重新命名檔案" Click="btnReNameFile_Click" .../>

    <!-- 資料夾操作 -->
    <Button Name="readFolder" Content="讀取資料夾" Click="readFolder_Click" .../>
    <Button Name="btnCreateFolder" Content="建立資料夾" Click="btnCreateFolder_Click" .../>
    <Button Name="btnDeleteFolder" Content="刪除資料夾" Click="btnDeleteFolder_Click" .../>
    <Button Name="btnReNameFolder" Content="重新命名資料夾" Click="btnReNameFolder_Click" .../>
</Grid>

檔案操作實作

// 刪除檔案
private async void btnDeleteFile_Click(object sender, RoutedEventArgs e) {
    try {
        var file = await storageFolder.GetFileAsync(tbFileName.Text.Trim());
        await file.DeleteAsync();
        tb_show.Text = $"提示:{tbFileName.Text.Trim()} 檔案刪除成功!";
    } catch { tb_show.Text = "提示:未找到該檔案,請先建立檔案"; }
}

// 移動檔案(文件庫 → 音樂庫)
private async void btnMoveFile_Click(object sender, RoutedEventArgs e) {
    try {
        var file = await storageFolder.GetFileAsync(tbFileName.Text.Trim());
        var dest = KnownFolders.MusicLibrary;
        await file.MoveAsync(dest, "moveFile.txt", NameCollisionOption.ReplaceExisting);
        tb_show.Text = $"提示:文件庫\\文件\\{tbFileName.Text.Trim()} 移動到 音樂庫\\moveFile.txt";
    } catch { tb_show.Text = "提示:未找到該檔案,請先建立檔案"; }
}

// 複製檔案(文件庫內備份)
private async void btnCopyFile_Click(object sender, RoutedEventArgs e) {
    try {
        var file = await storageFolder.GetFileAsync(tbFileName.Text.Trim());
        var copied = await file.CopyAsync(KnownFolders.DocumentsLibrary, "copyFile.txt", NameCollisionOption.ReplaceExisting);
        tb_show.Text = $"提示:文件庫\\文件\\{tbFileName.Text.Trim()} 複製一份到 文件庫\\文件\\copyFile.txt";
    } catch { tb_show.Text = "提示:未找到該檔案,請先建立檔案"; }
}

// 重新命名檔案
private async void btnReNameFile_Click(object sender, RoutedEventArgs e) {
    try {
        var file = await storageFolder.GetFileAsync(tbFileName.Text.Trim());
        await file.RenameAsync("renameFile.txt", NameCollisionOption.ReplaceExisting);
        tb_show.Text = $"提示:文件庫\\文件\\{tbFileName.Text.Trim()} 重命名為 文件庫\\文件\\renameFile.txt";
    } catch { tb_show.Text = "提示:未找到該檔案,請先建立檔案"; }
}

資料夾操作實作

// 讀取圖片庫檔案清單
private async void readFolder_Click(object sender, RoutedEventArgs e) {
    var folder = KnownFolders.PicturesLibrary;
    var files = await folder.GetFilesAsync();
    var info = "圖片庫資料夾下檔案名稱:";
    foreach (var f in files) info += f.Name + "+";
    tb_show.Text = info;
}

// 建立資料夾
private async void btnCreateFolder_Click(object sender, RoutedEventArgs e) {
    try {
        var folder = KnownFolders.PicturesLibrary;
        await folder.CreateFolderAsync("NewMusic", CreationCollisionOption.ReplaceExisting);
        tb_show.Text = "提示:圖片庫 下新建 圖片庫\\NewMusic 資料夾";
    } catch { tb_show.Text = "提示:未找到該資料夾,請先建立資料夾"; }
}

// 刪除資料夾
private async void btnDeleteFolder_Click(object sender, RoutedEventArgs e) {
    try {
        var folder = KnownFolders.PicturesLibrary;
        var sub = await folder.GetFolderAsync("NewMusic");
        await sub.DeleteAsync();
        tb_show.Text = "提示:圖片庫 下刪除 圖片庫\\NewMusic 資料夾";
    } catch { tb_show.Text = "提示:未找到該資料夾,請先建立資料夾"; }
}

// 重新命名資料夾
private async void btnReNameFolder_Click(object sender, RoutedEventArgs e) {
    try {
        var folder = KnownFolders.PicturesLibrary;
        var sub = await folder.GetFolderAsync("NewMusic");
        await sub.RenameAsync("New Picture");
        tb_show.Text = "提示:圖片庫 下重命名 圖片庫\\NewMusic 資料夾";
    } catch { tb_show.Text = "提示:未找到該資料夾,請先建立資料夾"; }
}

完整原始碼:Win8File2.rar

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved