Codebeispiele für Azure File Share mit Clientbibliotheken für Java, Version 8
Dieser Artikel zeigt Codebeispiele, die Version 8 der Azure File Storage-Clientbibliothek für Java verwenden.
Am 31. März 2023 haben wir die Unterstützung für Azure SDK-Bibliotheken eingestellt, die nicht den aktuellen Azure SDK-Richtlinien entsprachen. Die neuen Azure SDK-Bibliotheken werden regelmäßig aktualisiert, um konsistente Erfahrungen zu ermöglichen und Ihren Sicherheitsstatus zu stärken. Es wird empfohlen, auf die neuen Azure SDK-Bibliotheken umzusteigen, um die neuen Funktionen und wichtigen Sicherheitsupdates zu nutzen.
Obwohl die älteren Bibliotheken noch über den 31. März 2023 hinaus verwendet werden können, erhalten sie keinen offiziellen Support und keine Updates mehr von Microsoft. Weitere Informationen finden Sie in der Ankündigung der Supporteinstellung.
Voraussetzungen
Um die Clientbibliothek der Azure-Dateifreigabe zu verwenden, fügen Sie die folgenden import
-Anweisungen hinzu:
// Include the following imports to use Azure Files APIs v11
import com.microsoft.azure.storage.*;
import com.microsoft.azure.storage.file.*;
Zugreifen auf eine Azure-Dateifreigabe
Verwandter Artikel: Entwickeln für Azure Files mit Java
Um auf Ihr Speicherkonto zuzugreifen, müssen Sie das CloudStorageAccount-Objekt verwenden und die Verbindungszeichenfolge an die zugehörige parse-Methode übergeben.
// Use the CloudStorageAccount object to connect to your storage account
try {
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
} catch (InvalidKeyException invalidKey) {
// Handle the exception
}
CloudStorageAccount.parse löst eine InvalidKeyException aus, daher müssen Sie sie in einem try/catch-Block platzieren.
Erstellen einer Dateifreigabe
Verwandter Artikel: Entwickeln für Azure Files mit Java
Alle Dateien und Verzeichnisse in Azure Files werden in einem Container gespeichert, der als „Freigabe“ bezeichnet wird.
Um Zugriff auf eine Freigabe und ihren Inhalt zu erhalten, erstellen Sie einen Azure Files-Client. Das folgende Codebeispiel zeigt, wie Sie eine Dateifreigabe erstellen:
// Create the Azure Files client.
CloudFileClient fileClient = storageAccount.createCloudFileClient();
Mit dem Azure Files-Client können Sie dann einen Verweis auf die Freigabe abrufen.
// Get a reference to the file share
CloudFileShare share = fileClient.getShareReference("sampleshare");
Um die Freigabe zu erstellen, verwenden Sie die createIfNotExists-Methode des CloudFileShare-Objekts.
if (share.createIfNotExists()) {
System.out.println("New share created");
}
An diesem Punkt enthält share einen Verweis auf eine Freigabe mit dem Namen sample share.
Löschen einer Dateifreigabe
Verwandter Artikel: Entwickeln für Azure Files mit Java
Mit dem folgenden Beispielcode wird eine Dateifreigabe gelöscht.
Sie löschen eine Freigabe, indem Sie die deleteIfExists-Methode für ein CloudFileShare-Objekt aufrufen.
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();
}
Erstellen eines Verzeichnisses
Verwandter Artikel: Entwickeln für Azure Files mit Java
Sie können den Speicher organisieren, indem Sie Dateien in Unterverzeichnissen ablegen, anstatt alle Dateien im Stammverzeichnis zu speichern.
Mit dem folgenden Code wird ein Unterverzeichnis mit dem Namen sampledir im Stammverzeichnis erstellt:
//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");
}
Löschen eines Verzeichnisses
Verwandter Artikel: Entwickeln für Azure Files mit Java
Das folgende Codebeispiel zeigt, wie ein Verzeichnis gelöscht wird. Sie können kein Verzeichnis löschen, das noch Dateien oder Unterverzeichnisse enthält.
// 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");
}
Auflisten von Dateien und Verzeichnissen in einer Azure-Dateifreigabe
Verwandter Artikel: Entwickeln für Azure Files mit Java
Sie rufen eine Liste von Dateien und Verzeichnissen ab, indem Sie listFilesAndDirectories in einem CloudFileDirectory-Verweis aufrufen. Die Methode gibt eine Liste von ListFileItem-Objekten zurück, die Sie durchlaufen können.
Mit dem folgenden Code werden Dateien und Verzeichnisse im Stammverzeichnis aufgelistet:
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
for ( ListFileItem fileItem : rootDir.listFilesAndDirectories() ) {
System.out.println(fileItem.getUri());
}
Hochladen einer Datei
Verwandter Artikel: Entwickeln für Azure Files mit Java
Sie rufen einen Verweis auf das Verzeichnis für den Upload der Datei ab, indem Sie die getRootDirectoryReference-Methode für das share-Objekt aufrufen.
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
Da Sie nun einen Verweis auf das Stammverzeichnis der Freigabe erstellt haben, können Sie mit dem folgenden Code eine Datei in dieses Verzeichnis hochladen:
// Define the path to a local file.
final String filePath = "C:\\temp\\Readme.txt";
CloudFile cloudFile = rootDir.getFileReference("Readme.txt");
cloudFile.uploadFromFile(filePath);
Herunterladen einer Datei
Verwandter Artikel: Entwickeln für Azure Files mit Java
Im folgenden Beispiel wird die Datei „SampleFile.txt“ heruntergeladen und ihr Inhalt angezeigt:
//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());
Löschen von Dateien
Verwandter Artikel: Entwickeln für Azure Files mit Java
Mit dem folgenden Code wird die Datei "SampleFile.txt" gelöscht, die im Verzeichnis sampledirgespeichert ist:
// 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");
}