Bagikan melalui


Sampel kode Azure File Share menggunakan pustaka klien Java versi 8

Artikel ini memperlihatkan sampel kode yang menggunakan versi 8 dari pustaka klien Azure File Share untuk Java.

Pada 31 Maret 2023, kami menghentikan dukungan untuk pustaka Azure SDK yang tidak sesuai dengan pedoman Azure SDK saat ini. Pustaka Azure SDK baru diperbarui secara teratur untuk mendorong pengalaman yang konsisten dan memperkuat postur keamanan Anda. Disarankan agar Anda beralih ke pustaka Azure SDK baru untuk memanfaatkan kemampuan baru dan pembaruan keamanan penting.

Meskipun pustaka yang lebih lama masih dapat digunakan melebihi 31 Maret 2023, pustaka tersebut tidak akan lagi menerima dukungan dan pembaruan resmi dari Microsoft. Untuk informasi selengkapnya, lihat pengumuman penghentian dukungan.

Prasyarat

Untuk menggunakan pustaka klien Azure File Share, tambahkan arahan berikut import :

// Include the following imports to use Azure Files APIs v11
import com.microsoft.azure.storage.*;
import com.microsoft.azure.storage.file.*;

Akses berbagi file Azure

Artikel terkait: Mengembangkan untuk Azure Files dengan Java

Untuk mengakses akun penyimpanan Anda, gunakan objek CloudStorageAccount, lewati string koneksi ke metode parse-nya.

// Use the CloudStorageAccount object to connect to your storage account
try {
    CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
} catch (InvalidKeyException invalidKey) {
    // Handle the exception
}

CloudStorageAccount.parse menghasilkan InvalidKeyException sehingga Anda harus menaruhnya di dalam blok coba/tangkap.

Membuat berbagi file

Artikel terkait: Mengembangkan untuk Azure Files dengan Java

Semua file dan direktori di Azure Files disimpan dalam kontainer yang disebut berbagi.

Untuk mendapat akses ke berbagi dan kontennya, buat klien Azure Files. Contoh kode berikut menunjukkan cara membuat berbagi file:

// Create the Azure Files client.
CloudFileClient fileClient = storageAccount.createCloudFileClient();

Menggunakan klien Azure Files, Anda lalu dapat memperoleh referensi ke berbagi.

// Get a reference to the file share
CloudFileShare share = fileClient.getShareReference("sampleshare");

Untuk benar-benar membuat berbagi, gunakan metode createIfNotExists dari objek CloudFileShare.

if (share.createIfNotExists()) {
    System.out.println("New share created");
}

Pada titik ini, berbagi merujuk ke suatu berbagi yang bernama sample berbagi.

Hapus berbagi file

Artikel terkait: Mengembangkan untuk Azure Files dengan Java

Kode contoh berikut menghapus berbagi file.

Hapus berbagi dengan memanggil metode deleteIfExists pada objek CloudFileShare.

try
{
    // Retrieve storage account from connection-string.
    CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);

    // Create the file client.
   CloudFileClient fileClient = storageAccount.createCloudFileClient();

   // Get a reference to the file share
   CloudFileShare share = fileClient.getShareReference("sampleshare");

   if (share.deleteIfExists()) {
       System.out.println("sampleshare deleted");
   }
} catch (Exception e) {
    e.printStackTrace();
}

Membuat direktori

Artikel terkait: Mengembangkan untuk Azure Files dengan Java

Anda dapat mengatur penyimpanan dengan menyimpan berkas di dalam subdirektori alih-alih meletakkan semuanya dalam direktori akar.

Kode berikut membuat subdirektori bernama sampledir di bawah direktori akar:

//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();

//Get a reference to the sampledir directory
CloudFileDirectory sampleDir = rootDir.getDirectoryReference("sampledir");

if (sampleDir.createIfNotExists()) {
    System.out.println("sampledir created");
} else {
    System.out.println("sampledir already exists");
}

Hapus direktori

Artikel terkait: Mengembangkan untuk Azure Files dengan Java

Contoh kode berikut menunjukkan cara menghapus direktori. Anda tidak dapat menghapus direktori yang masih berisi file atau subdirektori.

// Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();

// Get a reference to the directory you want to delete
CloudFileDirectory containerDir = rootDir.getDirectoryReference("sampledir");

// Delete the directory
if ( containerDir.deleteIfExists() ) {
    System.out.println("Directory deleted");
}

Hitung file dan direktori dalam berbagi file Azure

Artikel terkait: Mengembangkan untuk Azure Files dengan Java

Dapatkan daftar file dan direktori dengan memanggil listFilesAndDirectories pada referensi CloudFileDirectory. Metode ini memberi daftar objek ListFileItem tempat Anda dapat melakukan iterasi.

Kode berikut mencantumkan file dan direktori di dalam direktori akar:

//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();

for ( ListFileItem fileItem : rootDir.listFilesAndDirectories() ) {
    System.out.println(fileItem.getUri());
}

Mengunggah file

Artikel terkait: Mengembangkan untuk Azure Files dengan Java

Dapatkan referensi ke direktori tempat file akan diunggah dengan memanggil metode getRootDirectoryReference pada objek berbagi.

//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();

Sekarang setelah Anda memiliki referensi ke direktori akar berbagi, Anda dapat mengunggah file ke dalamnya menggunakan kode berikut:

// Define the path to a local file.
final String filePath = "C:\\temp\\Readme.txt";

CloudFile cloudFile = rootDir.getFileReference("Readme.txt");
cloudFile.uploadFromFile(filePath);

Unduh file

Artikel terkait: Mengembangkan untuk Azure Files dengan Java

Contoh berikut mengunduh SampleFile.txt dan menampilkan kontennya:

//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();

//Get a reference to the directory that contains the file
CloudFileDirectory sampleDir = rootDir.getDirectoryReference("sampledir");

//Get a reference to the file you want to download
CloudFile file = sampleDir.getFileReference("SampleFile.txt");

//Write the contents of the file to the console.
System.out.println(file.downloadText());

Hapus file

Artikel terkait: Mengembangkan untuk Azure Files dengan Java

Kode berikut menghapus file bernama SampleFile.txt disimpan di dalam direktori bernama sampledir:

// Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();

// Get a reference to the directory where the file to be deleted is in
CloudFileDirectory containerDir = rootDir.getDirectoryReference("sampledir");

String filename = "SampleFile.txt"
CloudFile file;

file = containerDir.getFileReference(filename)
if ( file.deleteIfExists() ) {
    System.out.println(filename + " was deleted");
}