Przykłady kodu udziału plików platformy Azure przy użyciu bibliotek klienckich języka Java w wersji 8
W tym artykule przedstawiono przykłady kodu, które używają wersji 8 biblioteki klienta udziału plików platformy Azure dla języka Java.
31 marca 2023 r. wycofaliśmy obsługę bibliotek zestawu Azure SDK, które nie są zgodne z bieżącymi wytycznymi dotyczącymi zestawu Azure SDK. Nowe biblioteki zestawu Azure SDK są regularnie aktualizowane w celu zapewnienia spójnych środowisk i poprawy stanu zabezpieczeń. Zaleca się przejście do nowych bibliotek zestawu Azure SDK w celu skorzystania z nowych funkcji i krytycznych aktualizacji zabezpieczeń.
Mimo że starsze biblioteki mogą być nadal używane poza 31 marca 2023 r., nie będą już otrzymywać oficjalnej pomocy technicznej i aktualizacji od firmy Microsoft. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu pomocy technicznej.
Wymagania wstępne
Aby użyć biblioteki klienta udziału plików platformy Azure, dodaj następujące import
dyrektywy:
// Include the following imports to use Azure Files APIs v11
import com.microsoft.azure.storage.*;
import com.microsoft.azure.storage.file.*;
Uzyskiwanie dostępu do udziału plików platformy Azure
Powiązany artykuł: Tworzenie aplikacji dla usługi Azure Files za pomocą języka Java
Aby uzyskać dostęp do konta magazynu, użyj obiektu CloudStorageAccount, przekazując parametry połączenia do metody analizy.
// Use the CloudStorageAccount object to connect to your storage account
try {
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
} catch (InvalidKeyException invalidKey) {
// Handle the exception
}
Obiekt CloudStorageAccount.parse zgłasza wyjątek InvalidKeyException, więc należy umieścić go w bloku try/catch.
Tworzenie udziału plików
Powiązany artykuł: Tworzenie aplikacji dla usługi Azure Files za pomocą języka Java
Wszystkie pliki i katalogi w usłudze Azure Files są przechowywane w kontenerze nazywanym udziałem.
Aby uzyskać dostęp do udziału i jego zawartości, utwórz klienta usługi Azure Files. W poniższym przykładzie kodu pokazano, jak utworzyć udział plików:
// Create the Azure Files client.
CloudFileClient fileClient = storageAccount.createCloudFileClient();
Korzystając z klienta usługi Azure Files, możesz uzyskać odwołanie do udziału.
// Get a reference to the file share
CloudFileShare share = fileClient.getShareReference("sampleshare");
Aby utworzyć udział, użyj metody createIfNotExists obiektu CloudFileShare.
if (share.createIfNotExists()) {
System.out.println("New share created");
}
Na tym etapie udział zawiera odwołanie do udziału o nazwie sample share.
Usuwanie udziału plików
Powiązany artykuł: Tworzenie aplikacji dla usługi Azure Files za pomocą języka Java
Poniższy przykładowy kod usuwa udział plików.
Usuń udział, wywołując metodę deleteIfExists w obiekcie 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();
}
Tworzenie katalogu
Powiązany artykuł: Tworzenie aplikacji dla usługi Azure Files za pomocą języka Java
Magazyn można organizować, umieszczając pliki wewnątrz podkatalogów zamiast umieszczać wszystkie z nich w katalogu głównym.
Poniższy kod tworzy podkatalog o nazwie sampledir w katalogu głównym:
//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");
}
Usuwanie katalogu
Powiązany artykuł: Tworzenie aplikacji dla usługi Azure Files za pomocą języka Java
Poniższy przykład kodu pokazuje, jak usunąć katalog. Nie można usunąć katalogu, który nadal zawiera pliki lub podkatalogi.
// 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");
}
Wyliczanie plików i katalogów w udziale plików platformy Azure
Powiązany artykuł: Tworzenie aplikacji dla usługi Azure Files za pomocą języka Java
Pobierz listę plików i katalogów, wywołując element listFilesAndDirectories w dokumentacji CloudFileDirectory . Metoda zwraca listę obiektów ListFileItem , na których można iterować.
Poniższy kod zawiera listę plików i katalogów w katalogu głównym:
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
for ( ListFileItem fileItem : rootDir.listFilesAndDirectories() ) {
System.out.println(fileItem.getUri());
}
Przekazywanie pliku
Powiązany artykuł: Tworzenie aplikacji dla usługi Azure Files za pomocą języka Java
Pobierz odwołanie do katalogu, w którym plik zostanie przekazany, wywołując metodę getRootDirectoryReference w obiekcie udziału.
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
Teraz, gdy masz odwołanie do katalogu głównego udziału, możesz przekazać do niego plik przy użyciu następującego kodu:
// Define the path to a local file.
final String filePath = "C:\\temp\\Readme.txt";
CloudFile cloudFile = rootDir.getFileReference("Readme.txt");
cloudFile.uploadFromFile(filePath);
Pobieranie pliku
Powiązany artykuł: Tworzenie aplikacji dla usługi Azure Files za pomocą języka Java
Poniższy przykład pobiera SampleFile.txt i wyświetla jego zawartość:
//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());
Usuwanie pliku
Powiązany artykuł: Tworzenie aplikacji dla usługi Azure Files za pomocą języka Java
Poniższy kod usuwa plik o nazwie SampleFile.txt przechowywany w katalogu o nazwie 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");
}