Ukázky kódu sdílené složky Azure pomocí klientských knihoven Javy verze 8
Tento článek ukazuje ukázky kódu, které používají verzi 8 klientské knihovny sdílené složky Azure pro Javu.
31. března 2023 jsme vyřadili podporu knihoven sady Azure SDK, které nevyhovují aktuálním pokynům sady Azure SDK. Nové knihovny sady Azure SDK se pravidelně aktualizují, aby poskytovaly konzistentní prostředí a posilovaly zabezpečení. Doporučujeme přejít na nové knihovny sady Azure SDK, abyste mohli využívat nové funkce a důležité aktualizace zabezpečení.
I když starší knihovny je možné používat i po 31. březnu 2023, nebudou už od Microsoftu dostávat oficiální podporu a aktualizace. Další informace najdete v oznámení o vyřazení podpory.
Požadavky
Pokud chcete použít klientskou knihovnu sdílené složky Azure, přidejte následující import
direktivy:
// Include the following imports to use Azure Files APIs v11
import com.microsoft.azure.storage.*;
import com.microsoft.azure.storage.file.*;
Přístup ke sdílené složce Azure
Související článek: Vývoj pro Azure Files pomocí Javy
Pokud chcete získat přístup k účtu úložiště, použijte objekt CloudStorageAccount a předejte připojovací řetězec metodě analýzy.
// Use the CloudStorageAccount object to connect to your storage account
try {
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
} catch (InvalidKeyException invalidKey) {
// Handle the exception
}
CloudStorageAccount.parse vyvolá výjimku InvalidKeyException, takže ji budete muset umístit do bloku try/catch.
Vytvoření sdílené složky
Související článek: Vývoj pro Azure Files pomocí Javy
Všechny soubory a adresáře v Azure Files se ukládají do kontejneru označovaného jako sdílená složka.
Pokud chcete získat přístup ke sdílené složce a jejímu obsahu, vytvořte klienta Azure Files. Následující příklad kódu ukazuje, jak vytvořit sdílenou složku:
// Create the Azure Files client.
CloudFileClient fileClient = storageAccount.createCloudFileClient();
Pomocí klienta Azure Files pak můžete získat odkaz na sdílenou složku.
// Get a reference to the file share
CloudFileShare share = fileClient.getShareReference("sampleshare");
Chcete-li skutečně vytvořit sdílenou složku, použijte createIfNotExists metoda CloudFileShare objektu.
if (share.createIfNotExists()) {
System.out.println("New share created");
}
V tomto okamžiku obsahuje sdílená složka odkaz na sdílenou složku s názvem sample share.
Odstranění sdílené složky
Související článek: Vývoj pro Azure Files pomocí Javy
Následující ukázkový kód odstraní sdílenou složku.
Odstraňte sdílenou složku voláním deleteIfExists metoda v CloudFileShare objektu.
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();
}
Vytvoření adresáře
Související článek: Vývoj pro Azure Files pomocí Javy
Úložiště můžete uspořádat tak, že soubory umístíte do podadresářů, a nemusíte je mít všechny v kořenovém adresáři.
Následující kód vytvoří podadresář s názvem sampledir v kořenovém adresáři:
//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");
}
Odstranění adresáře
Související článek: Vývoj pro Azure Files pomocí Javy
Následující příklad kódu ukazuje, jak odstranit adresář. Adresář, který stále obsahuje soubory nebo podadresáře, nemůžete odstranit.
// 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");
}
Vytvoření výčtu souborů a adresářů ve sdílené složce Azure
Související článek: Vývoj pro Azure Files pomocí Javy
Seznam souborů a adresářů získáte voláním listFilesAndDirectories v odkazu CloudFileDirectory . Metoda vrátí seznam ListFileItem objektů, na kterých můžete iterovat.
Následující kód uvádí soubory a adresáře v kořenovém adresáři:
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
for ( ListFileItem fileItem : rootDir.listFilesAndDirectories() ) {
System.out.println(fileItem.getUri());
}
Odeslání souboru
Související článek: Vývoj pro Azure Files pomocí Javy
Získejte odkaz na adresář, kde se soubor nahraje voláním getRootDirectoryReference metoda na sdíleném objektu.
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
Teď, když máte odkaz na kořenový adresář sdílené složky, můžete do něj nahrát soubor pomocí následujícího kódu:
// Define the path to a local file.
final String filePath = "C:\\temp\\Readme.txt";
CloudFile cloudFile = rootDir.getFileReference("Readme.txt");
cloudFile.uploadFromFile(filePath);
Stažení souboru
Související článek: Vývoj pro Azure Files pomocí Javy
Následující příklad stáhne SampleFile.txt a zobrazí jeho obsah:
//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());
Odstranění souboru
Související článek: Vývoj pro Azure Files pomocí Javy
Následující kód odstraní soubor s názvem SampleFile.txt uložený v adresáři s názvem 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");
}