none
streamreader d'un CSV RRS feed

  • Question

  • bonjour,

    Dans mon appli j'ai un dossier \Datas qui contient des fichiers CSV

    using (StreamReader reader = new StreamReader("/app1;component/Datas/dictons.csv", Encoding.UTF8))
    {
        string line;
        while ((line = reader.ReadLine()) != null)
        {
            string[] split = line.Split(new Char[] { ';' });
            dicton dct = new dicton();
            dct.jour = Convert.ToDateTime(split[0]);
            dct.texte = split[1];
            Dictons.Add(dct);
        }
    }

    J'ai d'abord testé cela sur en C# Console. c'est ok sauf sur Windows Phone où j'ai une erreur Attempt to access the method failed: System.IO.StreamReader..ctor(System.String, System.Text.Encoding) sur la ligne Using

    C'est quoi le problème ?

    merci ! christophe


    Toss.net

    dimanche 9 septembre 2012 15:25

Réponses

Toutes les réponses

  • Bon,

    J'ai progressé sur la lecture d'un CSV

    IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
    IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile("/Almanach;component/legumes.csv", FileMode.Open, FileAccess.Read);
    using (StreamReader reader = new StreamReader(fileStream)){
        //Visualize the text data in a TextBlock text    
        txtdicton.Text = reader.ReadLine();
    }
    Seulement j'ai une erreur Operation not permitted on IsolatedStorageFileStream au niveau de IsolatedStorageFileStream


    Toss.net

    dimanche 9 septembre 2012 15:54
  • Mais cette syntaxe "/Almanach;component/legumes.csv" c'est celle d'une ressource de l'application non? Or une ressource n'est pas dans l'isolatedstorage.

    dimanche 9 septembre 2012 16:11
  • Mince, voici la solution si ça peu aider un autre.

    ( J'étais parti n'importe où ! Merci Nathanael! )

    Uri uri = new Uri("Datas/dictons.csv", UriKind.RelativeOrAbsolute);
    StreamResourceInfo sri = App.GetResourceStream(uri);
    string line;
    StreamReader reader = new StreamReader(sri.Stream);
    while ((line = reader.ReadLine()) != null)
    {
        string[] split = line.Split(new Char[] { ';' });
        dicton dct = new dicton();
        dct.jour = Convert.ToDateTime(split[0]);
        dct.texte = split[1];
        Dictons.Add(dct);
    }
    reader.Close(); 
    Bizarrement,
    /Almanach;component/Datas/dictons.csv
     ne provoque l'erreur et non 
    Datas/dictons.csv
    


    Toss.net



    dimanche 9 septembre 2012 16:30