Aprire file con StreamReader sia TXT che DOC

di il
5 risposte

Aprire file con StreamReader sia TXT che DOC

Buongiorno a tutti. Ho un problema, magari semplice ma a cui non riesco proprio a trovare una soluzione.

Ho uno streamreader che mi legge i file presenti in una directory e li mostra in una RichTextBox.
Il fatto è che i file presenti da leggere sono sia *.TXT che * .doc. e se dichiaro un tipo nel percorso non mi apre quelli di altro tipo.
mi date una mano?
Grazie.
Allego codice che funziona con i *.doc:


 Private Sub RichTextBox2_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles RichTextBox2.MouseDoubleClick

        If RichTextBox2.Text = "" Then
            Exit Sub
        End If
        Label4.Text = RichTextBox2.SelectedText

        RichTextBox1.Clear()
        Dim leggi As System.IO.StreamReader
        Dim riga As String

        leggi = System.IO.File.OpenText(Label4.Text & ".doc")

        While leggi.Peek <> -1
            riga = leggi.ReadToEnd 'ReadLine
            RichTextBox1.AppendText(riga)
        End While
        leggi.Close()
       
    End Sub 

5 Risposte

  • Re: Aprire file con StreamReader sia TXT che DOC

    Marcomx ha scritto:


    Il fatto è che i file presenti da leggere sono sia *.TXT che * .doc. e se dichiaro un tipo nel percorso non mi apre quelli di altro tipo.
    Il codice che hai scritto prende un testo e aggiunge l'estensione .doc alla fine, quindi come può gestire un omonimo file .txt visto che da nessuna parte compare quell'estensione?

    L'esempio che hai fatto e la descrizione del problema è tutto fuorché comprensibile, per me.
    Spiega meglio.
  • Re: Aprire file con StreamReader sia TXT che DOC

    Grazie per la risposta, cerco di spiegarmi meglio.
    Il testo con aggiunto . doc alla fine "compone" il nome e l'estensione del file presente in una directory che "prendo " e apro nella RTB e fino qui funziona bene. Il fatto è che nella dir, sono presenti file sia con estensione .doc che con estensione .txt, ed essendo entrambi file di testo vorrei poterli aprire entrambi indipendentemente dall'estensione.
    Se faccio lo stesso codice e aggiungo estensione .txt funziona bene ugualmente ma ovviamente mi apre solo i file con estensione txt. se seleziono un doc mi da errore.
    In sintesi, cerco un modo per poter aprire entrambi i tipi di file indipendentemente dall'estensione.
    spero cosi sia piu chiaro.
    Grazie
  • Re: Aprire file con StreamReader sia TXT che DOC

    Marcomx ha scritto:


    In sintesi, cerco un modo per poter aprire entrambi i tipi di file indipendentemente dall'estensione.
    E' molto semplice: verifichi l'esistenza di un file con una determinata estensione (quella predefinita), ad esempio .doc, e se non esiste provi con .txt.

    Il primo nome che con l'aggiunta di una delle due estensioni corrisponde a un file esistente, lo apri.
  • Re: Aprire file con StreamReader sia TXT che DOC

    Cavoli hai proprio ragione, ho fatto e funziona alla grande.

    La stanchezza spesso fa brutti scherzi e ci si perde sulle cose piu semplici.
    GRAZIE
  • Re: Aprire file con StreamReader sia TXT che DOC

    Marcomx ha scritto:


    Cavoli hai proprio ragione, ho fatto e funziona alla grande.
    La stanchezza spesso fa brutti scherzi e ci si perde sulle cose piu semplici.
    Magari a volte ci si aspetta qualche automatismo particolare, però in questo caso direi che non ce ne sono: al massimo solo espedienti per scrivere il codice in modo più ordinato, ad esempio valutando una lista di possibili estensioni al posto di due soltanto, però poi alla fine le operazioni da fare sono quelle indicate.

    Ciao!
Devi accedere o registrarti per scrivere nel forum
5 risposte