Delen via


Codevoorbeelden voor Azure File Share met behulp van Java-clientbibliotheken van versie 8

Dit artikel bevat codevoorbeelden die gebruikmaken van versie 8 van de Azure File Share-clientbibliotheek voor Java.

Op 31 maart 2023 hebben we de ondersteuning voor Azure SDK-bibliotheken buiten gebruik gesteld die niet voldoen aan de huidige Azure SDK-richtlijnen. De nieuwe Azure SDK-bibliotheken worden regelmatig bijgewerkt om consistente ervaringen te stimuleren en je beveiligingspostuur te versterken. Het is raadzaam om over te stappen op de nieuwe Azure SDK-bibliotheken om te profiteren van de nieuwe mogelijkheden en essentiële beveiligingsupdates.

Hoewel de oudere bibliotheken na 31 maart 2023 nog steeds kunnen worden gebruikt, ontvangen ze geen officiële ondersteuning en updates meer van Microsoft. Zie de aankondiging van de buitengebruikstelling van de ondersteuning voor meer informatie.

Vereisten

Als u de Azure File Share-clientbibliotheek wilt gebruiken, voegt u de volgende import instructies toe:

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

Toegang tot een Azure-bestandsshare

Gerelateerd artikel: Ontwikkelen voor Azure Files met Java

Als u toegang wilt krijgen tot uw opslagaccount, gebruikt u het CloudStorageAccount-object en geeft u de verbindingsreeks door aan de parseringsmethode.

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

CloudStorageAccount.parse genereert een InvalidKeyException, zodat u deze in een try/catch-blok moet plaatsen.

Een bestandsshare maken

Gerelateerd artikel: Ontwikkelen voor Azure Files met Java

Alle bestanden en mappen in Azure Files worden opgeslagen in een container die een share wordt genoemd.

Als u toegang wilt krijgen tot een share en de inhoud ervan, maakt u een Azure Files-client. In het volgende codevoorbeeld ziet u hoe u een bestandsshare maakt:

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

Met behulp van de Azure Files-client kunt u vervolgens een verwijzing naar een share verkrijgen.

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

Als u de share daadwerkelijk wilt maken, gebruikt u de methode createIfNotExists van het CloudFileShare-object .

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

Op dit moment bevat de share een verwijzing naar een share met de naam van een voorbeeldshare.

Een bestandsshare verwijderen

Gerelateerd artikel: Ontwikkelen voor Azure Files met Java

Met de volgende voorbeeldcode wordt een bestandsshare verwijderd.

Verwijder een share door de methode deleteIfExists aan te roepen op een CloudFileShare-object .

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();
}

Een map maken

Gerelateerd artikel: Ontwikkelen voor Azure Files met Java

U kunt opslag ordenen door bestanden in submappen te plaatsen in plaats van ze allemaal in de hoofdmap te plaatsen.

Met de volgende code maakt u een submap met de naam sampledir onder de hoofdmap:

//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");
}

Een directory verwijderen

Gerelateerd artikel: Ontwikkelen voor Azure Files met Java

In het volgende codevoorbeeld ziet u hoe u een map verwijdert. U kunt een map die nog steeds bestanden of submappen bevat, niet verwijderen.

// 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");
}

Bestanden en mappen opsommen in een Azure-bestandsshare

Gerelateerd artikel: Ontwikkelen voor Azure Files met Java

Haal een lijst met bestanden en mappen op door listFilesAndDirectories aan te roepen in een CloudFileDirectory-verwijzing. De methode retourneert een lijst met ListFileItem-objecten waarop u deze kunt herhalen.

De volgende code bevat bestanden en mappen in de hoofdmap:

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

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

Een bestand uploaden

Gerelateerd artikel: Ontwikkelen voor Azure Files met Java

Haal een verwijzing op naar de map waar het bestand wordt geüpload door de methode getRootDirectoryReference aan te roepen voor het shareobject.

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

Nu u een verwijzing naar de hoofdmap van de share hebt, kunt u een bestand naar de share uploaden met behulp van de volgende code:

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

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

Een bestand downloaden

Gerelateerd artikel: Ontwikkelen voor Azure Files met Java

In het volgende voorbeeld wordt SampleFile.txt gedownload en wordt de inhoud ervan weergegeven:

//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());

Een bestand verwijderen

Gerelateerd artikel: Ontwikkelen voor Azure Files met Java

Met de volgende code wordt een bestand met de naam SampleFile.txt verwijderd dat is opgeslagen in een map met de naam 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");
}