Mi dice che il file non esiste.. Ma esiste !

di il
8 risposte

Mi dice che il file non esiste.. Ma esiste !

Ciao a tutti,
ho creato in VisualStudio (.NET6) una app di prova.
Seguendo le indicazioni dalla Docs di Microsoft ho una eccezione UnauthorizedAccessException:
System.UnauthorizedAccessException: 'Access to the path 'E:\CANC.txt' is denied.''
Il codice sarebbe:
string path = @"E:\CANC.txt";
string readText = File.ReadAllText(path);
System.Diagnostics.Debug.WriteLine(readText);



Allora prova a vedere se il file esiste:

string curFile = @"E:\CANC.txt";
System.Diagnostics.Debug.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist.");
ed in risposta mi dice che non esiste
NOTA: il file esiste, ho i permessi sia per scrivere che per leggere, il path passato non è una directory !

Suggerimenti ?

8 Risposte

  • Re: Mi dice che il file non esiste.. Ma esiste !

    O non hai i permessi o il file non è raggiungibile questo è chiaro.

    Prova a far scrivere il file dall'app e poi a leggerlo, dimmi se riesci
  • Re: Mi dice che il file non esiste.. Ma esiste !

    Cia Toki.
    qua puoi scaricare il .sln completo.


    Per quanto riguarda il file "E:\CANC.txt", è stato creato con il TextEditor di Windows11 e posso tranquillamente leggerlo e scriverlo da Windows.

    Intanto grazie.
  • Re: Mi dice che il file non esiste.. Ma esiste !

    No.. non mi fa creare il file:
    System.UnauthorizedAccessException: Access to the path 'E:\CANC2.txt' is denied.
    at System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle)
    at System.IO.FileStream.CreateFileOpenHandle(FileMode mode, FileShare share, FileOptions options)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
    at System.IO.File.Create(String path)
    at FosNavData.MainPage.button1_Click(Object sender, RoutedEventArgs e)
    Questo il codice che ho provato:
    
    string path = @"E:\CANC2.txt";
    
                try
                {
                    // Create the file, or overwrite if the file exists.
                    using (FileStream fs = File.Create(path))
                    {
                        byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
                        // Add some information to the file.
                        fs.Write(info, 0, info.Length);
                    }
    
                    // Open the stream and read it back.
                    using (StreamReader sr = File.OpenText(path))
                    {
                        string s = "";
                        while ((s = sr.ReadLine()) != null)
                        {
                            System.Diagnostics.Debug.WriteLine(s);
                        }
                    }
                }
    
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.ToString());
                }
  • Re: Mi dice che il file non esiste.. Ma esiste !

    Ho creato con Visual Studio 2022 un nuovo progetto App.Console.
    Se uso
    File.WriteAllText(@"E:\CANC2.txt", "ciao");
    il file mi viene creato. Qua tutto ok.

    Se invece creo con Visual Studio 2022 una C# App Vuota (UWP) non mi fa creare / leggere ecc.. a nessun file ovunque !

    Credo che ci sia una impostazione da settare in Visual Studio ? O cosa ?
  • Re: Mi dice che il file non esiste.. Ma esiste !

    Non usare file nella root ma crea una cartella e lavora al suo interno
  • Re: Mi dice che il file non esiste.. Ma esiste !

    Ciao oregon.
    Nonostante usi anche una directory, il problema si presenta comunque.

    Riassumento:
    • VisualStudio 2022 con WinForm .NET 6: tutto funziona
    • VisualStudio 2022 con App.Console .NET 6: tutto funziona
    • VisualStudio 2022 con UWP .NET 6: NON FUNZIONA NIENTE in nessuna directory. E si presenta l'eccezione:
      System.UnauthorizedAccessException: 'Access to the path 'E:\pippo\CANC2.txt' is denied.'
    Non capisco che casino fanno alla MS. Dicono di utilizzare la UWP e poi ti trovi a dover risolvere problemi subdoli (per non dire idiot... ).
  • Re: Mi dice che il file non esiste.. Ma esiste !

    Leggi bene

    https://docs.microsoft.com/it-it/windows/uwp/files/file-access-permissions
  • Re: Mi dice che il file non esiste.. Ma esiste !

    @oregon
    Si.. ora funziona ed ho capito: StorageFolder !

    Grazie, gentilissimo.
Devi accedere o registrarti per scrivere nel forum
8 risposte