Frage c# streams

    • Frage c# streams

      Hallo!

      Ich habe eine Frage zu streams.
      Also ich erstelle einen neuen StreamReader mit dem pfad zu einem HTML file, der im selben Ordner liegt wie die .exe datei

      also hier mal der code:

      Quellcode

      1. public static string getHTMLCode(string source)
      2. {
      3. string s
      4. StreamReader sr;
      5. try{
      6. sr = new StreamReader(source);
      7. s = sr.ReadToEnd();
      8. sr.Close();
      9. return s;
      10. }
      11. catch(Exception)
      12. {
      13. MessageBox.Show("Hoppla da lief was falsch");
      14. }
      15. return string.Empty;
      16. }
      17. }
      Alles anzeigen


      source enthält "template.html" und die Datei liegt wie gesagt im selben ordner wie der html code. Aber immer wenn ich die Funktion aufrufe wirft die zeile "sr = new StreamReader(source);" eine Exception. dann hab ich den try-catch Block entfernt, damit mir das VisualStudio die Beschreibung der Exception anzeigt. "die datei C:\template.html wurde nicht gefunden". was aber komisch ist, weil wenn ich einfach "template.html" übergebe, wird ja automatisch der ordner in dem die EXE datei ist angenommen und nicht C:\.
      Um es einfach zu halten möchte ich einfach wissen wie ich die directory herausfinde in der die EXE datei ist, das geht am einfachsten..
      James
      [Blockierte Grafik: http://dl.dropbox.com/u/24753690/stuff/forenlinks/rocketsign.png]
      Team Rocket - so schnell wie das Licht,
      gebt lieber auf und bekämpft uns nicht!

      join #teamrocket @iz-smart.net
    • Folgendes funktioniert unter Mono 2.0.1:

      Quellcode

      1. using System;
      2. using System.IO;
      3. class Test {
      4. public static string getHTMLCode(string source)
      5. {
      6. string s;
      7. StreamReader sr;
      8. System.Console.WriteLine(source);
      9. try{
      10. sr = new StreamReader(source);
      11. s = sr.ReadToEnd();
      12. sr.Close();
      13. return s;
      14. }
      15. catch(Exception)
      16. {
      17. System.Console.WriteLine("Da lief was falsch");
      18. }
      19. return string.Empty;
      20. }
      21. public static void Main(string []args)
      22. {
      23. System.Console.WriteLine(getHTMLCode(GetPath() + "/test.html"));
      24. }
      25. public static string GetPath()
      26. {
      27. return Path.GetDirectoryName(
      28. System.Reflection.Assembly.GetExecutingAssembly().Location
      29. );
      30. }
      31. }
      Alles anzeigen