Feedback

C# - Inhalt einer als Ressource eingebetteten Text-Datei ausgeben

Veröffentlicht von am 04.08.2010
(2 Bewertungen)
Dieses Snippet soll zeigen, wie man den Inhalt einer einfachen Textdatei, die als Ressource mitgegeben wird, auslesen und ausgeben lassen kann.

VORSICHT: Die Textdatei kann auf verschiedene Arten mit Visual Studio eingebunden werden. Zwei dieser Möglichkeiten sind folgende:
Direkte Einbindung in die Resource-Datei oder separate Einbindung während der Kompilierung. Ich erkläre hier, die Variante mit der separaten Einbindung.

Vorgang:
1. Importiere in Visual Studio eine Text-Datei.
2. Wähle diese dann im Projektmappenexplorer.
3. In den Eigenschaften setzt du für "Buildvorgang" dann den Wert "Eingebettete Ressource".
4. Beim Kompilieren wird die Datei dann automatisch eingebettet.


Sinnvoll ist dies vor allem dann, wenn der Inhalt der Textdatei öfters bearbeitet wird.


Unterstützte VS-Versionen:
Visual Studio ab Version 7.0

Unterstützte Sprachversionen:
C# ab Version 1.0


[Notiz: CH20100804S0002CS10ME]
GFU-Schulungen  [Anzeige]

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

ASP.NET 2.0 und 3.5

Dieser Kurs vermittelt Ihnen alle Erweiterungen von Microsoft ASP.NET 2.0. Zu diesen zählen u. a. Data Bindung, Master Pages, und Security.

using System;
using System.IO;
using System.Reflection;

namespace ConsoleApplication1
{
    public class Program
    {
        public static void Main()
        {
            Assembly _Assembly = Assembly.GetExecutingAssembly();
            Stream str = _Assembly.GetManifestResourceStream("ConsoleApplication1.TextFile1.txt");
            StreamReader rd = new StreamReader(str);
            Console.Write(rd.ReadToEnd());
            Console.Read();
        }
    }
}

2 Kommentare zum Snippet

Michel.Eichelberger schrieb am 17.08.2010:
Noch ein kleiner Nachtrag:
Wenn ihr den ManifestResourceStream laden möchtet, müsst ihr den entsprechenden relativen Namespace-Pfad der Ressource angeben. In Visual Studio kann man einen Standardnamespace angeben. Gleichzeitig behandelt VS alle Unterordner im Projekt als eigenen Namespace. Das erste Glied muss also der Standardnamespace sein, das letzte Glied die Datei und alles dazwischen sämtliche Unterordner.

Beispiel (VS-Projektansicht):

ConsoleApplication1 (Projekt-Ordner, VORSICHT: Verwende den Standardnamespace DIESES Projekts)
-TextRessourcen (Unterordner, muss angegeben werden)
--TextFile1.txt (Die Datei)

Der Befehl wäre dann:
_Assembly.GetManifestResourceStream("ConsoleApplication1.TextResources.TextFile.txt");


Bei Fragen, einfach kontaktieren! =)
Michel.Eichelberger schrieb am 17.08.2010:
ups: ich meine natürlich:
_Assembly.GetManifestResourceStream("ConsoleApplication1.TextRessourcen.TextFile.txt");
 

Logge dich ein, um hier zu kommentieren!