Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Die Argumente von der Kommandozeile?
mike001
myCSharp.de - Member



Dabei seit:
Beiträge: 37

Themenstarter:

Die Argumente von der Kommandozeile?

beantworten | zitieren | melden

aufgabenstellung:
Zitat
Schreiben Sie ein Programm, das die Anzahl der Worte, Zeilen und Zeichen in einer Textdatei zählt.

Den Namen der Datei sollen Sie "aus der Kommandozeile" entnehmen.

static void Main(string[] args)
{
    ...
}

Die Argumente auf der Kommandozeile können Sie dem Feld args entnehmen.

ich habe das programm geschrieben und es läuft auch, jedoch lese ich die datei über den Streamreader ein. Was ist damit gemeint: "Den Namen der Datei sollen Sie "aus der Kommandozeile" entnehmen"bzw. "die argumente auf der kommandozeile können Sie dem Feld args entnehmen???? kann mir das bitte jmd. erklären?

LG
private Nachricht | Beiträge des Benutzers
John Sanson
myCSharp.de - Member

Avatar #avatar-2970.jpg


Dabei seit:
Beiträge: 195
Herkunft: Dinslaken

beantworten | zitieren | melden

Das du dein Programm mit einem Parameter startest. Dieser soll wahrscheinlich der Dateipfad sein. in Args steht dann der Wert den du beim aufruf übergeben hast.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von John Sanson am .
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1436
Herkunft: Schweiz

beantworten | zitieren | melden

Und mit File.ReadAllLines() kannst du dann den Inhalt lesen...
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo mike001,
Zitat
jedoch lese ich die datei über den Streamreader ein.
ja, aber den StreamReader gibst du doch einen Dateinamen mit. Jetzt sollst du den Dateinamen von der Kommandozeile nehmen. Und der steht als (erstes Element) im Array args.

herbivore
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1436
Herkunft: Schweiz

beantworten | zitieren | melden

Ich denke sowas in der Art hast Du gesucht.


using System;
using System.Collections.Generic;
using System.IO; // Ist notwendig damit auf die FileReade etc. Methoden zugegriffen werden kann.
using System.Text;

namespace Sample.ConsoleApplication {

    class Program {

        /// <summary>
        /// Haupteinstiegspunkt des Programs. Args wird als String Array
        /// entgegen genommen. Es kann ja sein, dasss jemand mehr als nur
        /// ein Argument eingibt.
        /// </summary>
        /// <param name="args"></param>
        static void Main( string[] args ) {
            args = new string[] {@"C:\Temp\Text.txt"}; // Ist nur zu Testzwecken hier, kann gelöscht werden für die definitive Umsetzung.

            if ( args.Length != 0 ) {
                Console.WriteLine( "Lese Datei aus dem Verzeichnis {0}", args );
                foreach ( string str in ReadFile(args[0]) ) {
                    Console.WriteLine( str );                    
                }
            }
            else {
                Console.WriteLine( "Keine Argumente angegeben" );
            }           

            Console.ReadKey( );
        }

        /// <summary>
        /// Diese Methode liest den FileInhalt in ein String Array und
        /// gibt diesen für die weitere Verarbeitung zurück.
        /// </summary>
        /// <param name="args">der Pfad der eingegeben wurde. (Muss dem Schema C:\ entsprechen.</param>
        /// <returns>Das gelesene TextFile als String Array.</returns>
        static string[] ReadFile( string args ) {
            string[] fileInhalt = File.ReadAllLines( args );
            return fileInhalt;
        }
    }
}
Zum Nachschlagen empfehlen sich die folgenden Lektüren immer wieder => :rtfm:
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
private Nachricht | Beiträge des Benutzers