Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [C#] Problema con la ricerca di files...

    Ciao a tutti! Vengo al punto, se eseguo una ricerca del tipo:

    codice:
    private void button1_Click(object sender, EventArgs e)
            {
                string path = @"c:\";
                string searchPattern = "*.jpg";
    
                DirectoryInfo di = new DirectoryInfo(path);
                DirectoryInfo[] directories =
                    di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly);
    
                FileInfo[] files =
                    di.GetFiles(searchPattern, SearchOption.AllDirectories);
    
                
                foreach (FileInfo file in files)
                {
                    listBox1.Items.Add(file.ToString());
                }
    
    
            }
    Viene sollevata una eccezione:
    Access to the path 'c:\System Volume Information\' is denied.
    Ok, non ho accesso, come posso risolvere il problema? Eventualmente, come posso fare in modo che il programma salti la cartella in questione?
    Grazie.

  2. #2
    fai una semplice gestione degli errori e non restituisci niente :P
    o metti un if che dice che quando c'è quella cartella vai avanti e la salti.

  3. #3
    Per la "if" ci avevo pensato, ma l'istruzione che genera l'eccezione è la:

    codice:
    FileInfo[] files = di.GetFiles(searchPattern, SearchOption.AllDirectories);
    Non posso mettere la "if" all'interno della GetFiles.

    Per il non restituire nulla in caso di eccezione, beh, l'eccezione viene data sempre quindi il programma diviene inutile.

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    utilizzi un try catch
    I got the remedy

  5. #5
    Ci ho provato, ma anche gestendo l'eccezione non so cosa fare quando si verifica.
    In pratica dovrei saltare la cartella per la quale non ho l'autorizzazione ma non so come fare.

  6. #6
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da SkyNET290897
    Ci ho provato, ma anche gestendo l'eccezione non so cosa fare quando si verifica.
    In pratica dovrei saltare la cartella per la quale non ho l'autorizzazione ma non so come fare.
    fai vedere una messagebox dove indici che non hai i permessi
    I got the remedy

  7. #7
    L'eccezione è questa:

    Eccezione

  8. #8
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Devi imparare a gestire le eccezioni tramite try e catch.
    I got the remedy

  9. #9
    Veramente la gestione delle eccezioni tramite try catch la uso sempre, ma in questo caso non so cosa metterci nella catch una volta che si verifica l'eccezione...

    Arrivato alla cartella in questione viene generata l'eccezione, bene, come faccio a farlo andare avanti con le altre cartelle saltando quella che ha generato l'eccezione?

    EDIT:

    Qui trovi la MessageBox dell'errore.

  10. #10
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    quindi la domanda è come fai a capire se hai accesso o meno a una directory.
    Devi intanto capire che tipo di accesso devi fare.
    intanto guardati qui degli esempi...
    http://stackoverflow.com/questions/1...ss-to-a-folder
    I got the remedy

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.