C'est une question très ouverte - quel genre de fichier? Pour lire les données binaires de ce que vous auriez habituellement utilisé:
using (Stream stream = File.OpenRead(filename))
{
// Read from the stream here
}
ou
byte[] data = File.ReadAllBytes(filename);
Pour lire le texte, vous pouvez utiliser l'une:
using (TextReader reader = File.OpenText(filename))
{
// Read from the reader
}
ou
string text = File.ReadAllText(filename);
ou
string[] lines = File.ReadAllLines(filename);
Si vous pouvez plus d'informations concernant le type de fichier que vous voulez lire, nous pouvons vous aider avec des conseils spécifiques. EDIT: Pour afficher le contenu d'un fichier RTF, je vous suggère de le charger en tant que texte (mais attention à l'encodage - je ne sais pas quel encodage utilise les fichiers RTF), puis de l'afficher dans un champ RichTextBox
la propriété Rtf
. Rendre le contrôle en lecture seule pour éviter que l'utilisateur modifie le contrôle (bien que si l'utilisateur modifie le contrôle, cela ne modifierait en aucun cas le fichier).
Si vous souhaitez afficher uniquement partie du fichier, je vous suggère de charger le fichier, trouvez le bit correspondant du texte, et l'utiliser de manière appropriée avec la propriété Rtf
. Si vous chargez le fichier entier en une seule chaîne, vous pouvez utiliser IndexOf
et Substring
pour trouver les marqueurs de début/fin pertinents et prendre la sous-chaîne entre eux; Si vous lisez le fichier sous la forme de plusieurs lignes, vous pouvez rechercher les lignes individuelles en tant que marques de début et de fin, puis concaténer le contenu entre elles.
(Je suggère également que la prochaine fois que vous posez une question, vous devez inclure ce genre de détail pour commencer plutôt que de nous avoir à le taquiner sur vous.)
EDIT: Comme Mark a fait remarquer dans un commentaire Les fichiers RTF doivent avoir une section d'en-tête. Ce que vous avez montré n'est pas vraiment un fichier RTF en premier lieu - c'est juste du texte brut. Si vous vraiment voulez RTF, vous pouvez avoir une section d'en-tête et puis les sections individuelles. Une meilleure alternative serait probablement d'avoir des fichiers séparés pour chaque section - ce serait plus propre de cette façon.
Vous avez posté presque cette même question avant deux fois: http://stackoverflow.com/questions/1990703/displaying-particular-content- of-the-file-in-the-richtextbox-in-winforms et http://stackoverflow.com/questions/1990937/particular-content-in-richtextbox. Vous devriez améliorer vos questions existantes au lieu de reposer la même question encore et encore. Vous devriez inclure une description complète de ce que vous essayez de faire dans la question. –
ok ............. – Harikrishna
La façon dont vous essayez d'aborder cela vous donne des défis supplémentaires qui ne sont même pas nécessaires. Avez-vous envisagé d'utiliser HTML ou XML au lieu d'utiliser RTF? Il y a une abondance d'outils pour analyser ces formats de document, ainsi qu'un bon support intégré dans .NET. De plus, il y a beaucoup plus de personnes ici avec une connaissance approfondie de l'analyse syntaxique HTML/XML qu'avec l'analyse syntaxique RTF. Si vous pouvez modifier vos exigences pour lire un document HTML, vous pouvez résoudre ce problème en quelques heures. Si vous insistez pour rester fidèle à RTF, vous devrez probablement résoudre ce problème par vous-même. –