Entwickler-Ecke

IO, XML und Registry - File.Exists Befehl


SSC streezer - Mo 08.09.08 09:31
Titel: File.Exists Befehl
Hallo zusammen,

ich versuche mittels File.Exists auf das zuletzt geöffnete file zugreiffen.

Zuers überprüfe ich, ob ein File existiert mit:

C#-Quelltext
1:
2:
3:
4:
           if (File.Exists(Settings.Default.LastFile))
            {
                
            }


das ziel ist es nun das file zu öffnen welches zuletzt geöffnet wurde. nur weiss ich nicht wie ich das anstellen soll :?

weiss da jemand n tipp für mich?


gruss,

SSC streezer


Moderiert von user profile iconChristian S.: Topic aus Sonstiges (.NET) verschoben am Mo 08.09.2008 um 11:55


Peter Enz - Mo 08.09.08 10:28

Hallo,

die File-Klasse hat verschiedene statische Methoden, wie ReadAllText, ReadAllLines oder ReadAllBytes, um die Datei zu lesen. Oder verwende einen FileStream, entweder direkt über den Konstruktor instantiieren oder per File.Open besorgen. Es kommt halt darauf an, wie Du die Daten weiter verarbeiten willst.

Ich empfehle Dir mal in das Kapitel 10 von Visual C# bei Galileo OpenBooks zu schauen:

http://www.galileocomputing.de/openbook/visual_csharp/

Gruß
Peter


SSC streezer - Mo 08.09.08 11:11

hmm... aber wie übergebe ich z.b. der File.Open befehl benutzen möcthe, muss ich ja einen pfad angeben (string).

dieser pfad ist ja in diesem Befehl enthalen:

C#-Quelltext
1:
File.Exists(Settings.Default.LastFile)                    


-> aber diesen Pfad kann ich nicht einfach in die File.Open funktion reinpacken...


Christian S. - Mo 08.09.08 11:56

Du übergibst File.Open den Pfad genauso wie File.Exists :gruebel:


SSC streezer - Mo 08.09.08 12:04

aha - das geht?

hm - hat nicht geklappt:

C#-Quelltext
1:
2:
3:
4:
            if (File.Exists(Settings.Default.LastFile))
            {
                File.Open(Settings.Default.LastFile, FileMode.Open);
            }


Christian S. - Mo 08.09.08 12:06

Was heißt "Hat nicht geklappt"?


SSC streezer - Mo 08.09.08 12:38

ja es geht einfach nicht - ich hab diese bedingung im WindowFormload reingetan (was ja der teil ist, welcher geladen wird wenn sich das hauptformular öffnet).

jetzt sollte das file bereits in den treeview eingelesen werden... aber es klapt nich....


lothi - Mo 08.09.08 12:53

Hallo
Zitat:

jetzt sollte das file bereits in den treeview eingelesen werden... aber es klapt nich....


Wie hast du denn rausgefunden das es nicht klappt? Wie liest du denn die Daten in das TreeView ein?
Mit den Code den du gepostest hast hast du ja noch nichts gemacht ausser eine Datei im Hintergrund geöffnet.

Gruss Lothi


SSC streezer - Mo 08.09.08 13:02

lol xD stimmt ja :oops:

ich hab die methode die den treeview einliest nicht aufgerufen... aber wie übergebe ich den pfad dieser methode? und geht das überhaupt - weil sie ein click ereignis ist...

hier die methode die meinen treeview füllt:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
private void CreateTreeView(string filename, TreeNodeCollection nodes, bool import)
        {
            StreamReader sr = null;
            treeFile.BeginUpdate();
            try
            {
                sr = new StreamReader(filename, System.Text.Encoding.GetEncoding(1252));
                while (!sr.EndOfStream)
                {
                    string line = sr.ReadLine();

                    MappingElements SplitUp = new MappingElements(line, import);

                    ParseLineAndInsertNodesInTree(SplitUp.Elements, nodes, SplitUp);
                }
            }
            finally
            {
                sr.Close();
                treeFile.EndUpdate();
            }
        }

        private void ParseLineAndInsertNodesInTree(List<string> elements, TreeNodeCollection nodes, MappingElements splitup)
        {
            // mit dem ersten Element in elements einen neuen Knoten anlegen, sofern noch keiner vorhanden ist
            
            if (elements.Count > 0)
            {
                string keyString = elements[0];
                if (keyString.Equals(""))
                {
                    keyString = "LEER";
                }
                TreeNode tn = null;
                if (!nodes.ContainsKey(keyString))
                {
                    tn = new TreeNode(keyString);
                    tn.Name = keyString;
                    nodes.Add(tn);
                }
                else
                {
                    tn = nodes[keyString];
                }
                // wenn am Ende der Liste angekommen (resp. wenn auf unterster Ebene des Baums), dann
                // MappingElements-Objekt anhängen
                if (elements.Count == 1)
                {
                    tn.Tag = splitup;
                    splitup.Keystring = keyString;
                    DrawTreeNode(tn);
                }
                elements.RemoveAt(0);
                ParseLineAndInsertNodesInTree(elements, tn.Nodes, splitup);
            }
            treeFile.SelectedImageIndex = 2;
        }


Peter Enz - Mo 08.09.08 13:18

Hallo Mike,

Zitat:
aber wie übergebe ich den pfad dieser methode?


CreateTreeView(Settings.Default.LastFile,...

Was hat diese Methode mit einem Click-Ereignis zu tun?

Deine Fragen haben schon ein bisschen was von Rätseln. :?

Gruß
Peter


SSC streezer - Mo 08.09.08 13:38

ha - hat geklappt xD ja sorry - es ist sehr schwer ein problem zu beschreiben ohne dass dabei ein roman entsteht xD ich möchte es halt so kurz wie möglich beschreiben :oops:

vielen dnak für eure hilfe jungs ;)