Condividi tramite


Esempi di codice di Condivisione file di Azure con librerie client Java versione 8

Questo articolo illustra gli esempi di codice che usano la versione 8 della libreria client di Condivisione file di Azure per Java.

Il 31 marzo 2023 è stato ritirato il supporto per le librerie di Azure SDK che non sono conformi alle linee guida correnti di Azure SDK. Le nuove librerie di Azure SDK vengono aggiornate regolarmente per offrire esperienze coerenti e migliorare la postura di sicurezza. È consigliabile passare alle nuove librerie di Azure SDK per sfruttare le nuove funzionalità e gli aggiornamenti critici della sicurezza.

Anche se le librerie precedenti possono ancora essere usate oltre il 31 marzo 2023, non riceveranno più il supporto e gli aggiornamenti ufficiali da Microsoft. Per altre informazioni, vedere l'annuncio del ritiro del supporto.

Prerequisiti

Per usare la libreria client di Condivisione file di Azure, aggiungere le direttive seguenti import :

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

Accedere a una condivisione file di Azure

Articolo correlato: Sviluppare per File di Azure con Java

Per accedere all'account di archiviazione, usare l'oggetto CloudStorageAccount, passando il stringa di connessione al relativo metodo di analisi.

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

CloudStorageAccount.parse genera un'eccezione InvalidKeyException, sarà quindi necessario inserirlo in un blocco Try-Catch.

Creare una condivisione file

Articolo correlato: Sviluppare per File di Azure con Java

Tutti i file e le directory in File di Azure vengono archiviati in un contenitore denominato condivisione.

Per ottenere l'accesso a una condivisione e al relativo contenuto, creare un client File di Azure. L'esempio di codice seguente illustra come creare una condivisione file:

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

In questo modo è possibile ottenere un riferimento a una condivisione.

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

Per creare effettivamente la condivisione, usare il metodo createIfNotExists dell'oggetto CloudFileShare .

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

A questo punto, la condivisione contiene un riferimento a una condivisione denominata sample share.

Eliminare una condivisione file

Articolo correlato: Sviluppare per File di Azure con Java

Il codice di esempio seguente elimina una condivisione file.

Eliminare una condivisione chiamando il metodo deleteIfExists in un oggetto 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();
}

Creare una directory

Articolo correlato: Sviluppare per File di Azure con Java

È possibile organizzare l'archiviazione inserendo i file all'interno di sottodirectory anziché inserirli tutti nella directory radice.

Il codice seguente crea una sottodirectory denominata sampledir nella directory radice:

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

Eliminare una directory

Articolo correlato: Sviluppare per File di Azure con Java

Nell'esempio di codice seguente viene illustrato come eliminare una directory. Non è possibile eliminare una directory che contiene ancora file o sottodirectory.

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

Enumerare file e directory in una condivisione file di Azure

Articolo correlato: Sviluppare per File di Azure con Java

Ottenere un elenco di file e directory chiamando listFilesAndDirectories in un riferimento CloudFileDirectory . Il metodo restituisce un elenco di oggetti ListFileItem su cui è possibile eseguire l'iterazione.

Il codice seguente elenca i file e le directory all'interno della directory radice:

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

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

Caricare un file

Articolo correlato: Sviluppare per File di Azure con Java

Ottenere un riferimento alla directory in cui verrà caricato il file chiamando il metodo getRootDirectoryReference sull'oggetto condivisione.

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

Ora che si dispone di un riferimento alla directory radice della condivisione, è possibile caricare un file in esso usando il codice seguente:

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

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

Scaricare un file

Articolo correlato: Sviluppare per File di Azure con Java

L'esempio seguente scarica SampleFile.txt e ne visualizza il contenuto:

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

Eliminare un file

Articolo correlato: Sviluppare per File di Azure con Java

Il codice seguente elimina un file denominato SampleFile.txt archiviato all'interno di una directory denominata 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");
}