Laden...

Inkompatibilität Xamarin Forms System.IO

Letzter Beitrag vor einem Jahr 11 Posts 984 Views
Inkompatibilität Xamarin Forms System.IO

Hallo

Ich bin mir nicht sicher, ob ich korrekt bin, aber ich Versuche es einmal. Ich würde gern eine csv- Datei lesen unter Xamarin Forms, jedoch wenn ich den System.IO Namespace ein binde, bekomme ich einen Fehler, dass eine Datei fehlt unter Android. Ich habe auch versucht dem Android- Projekt das System.IO Nuget zu hinzuzufügen, jedoch ohne Erfolg. Weiß jemand Rat?

Ich benutze File.ReadAllText(file) mit using System.IO, läuft einwandfrei.

Visual Studio 2019 mit Xamarin.Forms Version 5.0.0.

Da stimmt irgendwas nicht, denn das sollte auf Anhieb funktionieren.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

Mit "irgendein Fehler" kann Dir niemand helfen.
[Hinweis] Wie poste ich richtig? 5. Problem genau beschreiben - inkl. genauer Fehlermeldung - und konkrete Fragen stellen

Ok jetzt hüpfts, ich habe die csv als Ressource Eingebettet, das hat ihm nicht gefallen. Allerdings kann er jetzt die Datei nicht finden, egal wo ich sie hin packe.

Ich bekomme keinen Dateizugriff!? Gibt es etwas Besonderes zu beachten, in Verbindung mit Xamarin, beim Dateizugriff?

Schau mal in Dateibehandlung in Xamarin.Forms (entweder den Hinweis bzgl. Environment.GetFolderPath oder doch als eingebettete Resource [wenn die Datei nur gelesen werden soll]).

Eingebettete Resource lesen :


string file = "test.json";
using (StreamReader s = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("XamarinForms.LocationService.Resources." + file)))
{
	return s.ReadToEnd();
}
return "";

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

Ich bekomme immer noch einen Fehler, weil er die Datei nicht findet. Ich habe die Datei auch schon mehrmals anders positioniert..


        private List<Search> _searches;
        public IEnumerable<Search> GetAll()
        {
            _searches = new List<Search>();
            int i = 0;

            string file = "StaedteUSA.txt";
            using (StreamReader s = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("XamarinForms.LocationService.Resources." + file)))
            {
                while (s.EndOfStream == false)
                {
                    string FileRow = s.ReadLine();
                    string[] DataSplit = FileRow.Split('\t');

                    i++;

                    _searches.Add(
                        new Search
                        {
                            Id = i,
                            Location = DataSplit[0] + ", " + DataSplit[1] + ", " + DataSplit[2],
                            CheckIn = DateTime.Parse(DataSplit[3]),
                            CheckOut = DateTime.Parse(DataSplit[4])
                        }
                        );
                }
            }
            return _searches;
        }
        

( Mir ist bewusst, dass das alles async sein sollte, jedoch geht`s hier wieder nur um ein einfaches Lernprojekt, an das ich eine veränderbare Datei anhängen möchte. )

Hast du meinen verlinkten Artikel gelesen? Du mußt deinen Projektnamensbereich übergeben.

geht auch nicht, weder mit '.' noch mit "&quot;

Ich hab den Fehler gefunden! Mein Fehler war, dass ich das File via Drag-and-drop in den Dateiorder gezogen habe. Nachdem ich die Datei via " Vorhandenes Element Hinzufügen" im VisualStudio Hinzugefügt habe, hats geklappt! Danek euch allen für eure Hilfe.