Projekt DSuche
Zielsetzung
Es wir ein Kommandozeilenprogramm erstellt, das reguläre Ausdrücke in einer Datei sucht.
Kenntnisse
- Projekt erstellen
- Programmargument auswerten
- Paket importieren
- Datei lesen
Projekt erstellen
- IdeaIC starten
- Linke Spalte: "Projects" anklicken
- "New Project"
- Linke Spalte: "Dart"
- Dart-SDK:
- Windows: c:\dart-sdk
- Linux: ~/dart-sdk
- Es erscheint eine Listbox, dort
Console-Application a command-line application sampleanklicken Next-Button- Project name:
dsuche Finish-Button
Damit ist das Projekt erstellt.
Projekt erkunden
- Linke Spalte:
Projectsanklicken - Es wird ein Ordner namens
dsuchesichtbar - auf das Symbol ">" klicken, dann klappt das Verzeichnis aus
- Im Unterverzeichnis
binliegt die Datei mit dem Hauptprogramm,dsuche.dart - Im Unterverzeichnis
libliegt eine zweite Dateidsuche.dart, die ergänzenden Code enthält. In diesem Projekt brauchen wir diese Datei nicht. also löschen:Rechte Maustaste - Delete - ziemlich unten gibt es die Datei
pubspec.yamlDort werden Pakete eingetragen. In diesem Projekt brauchen wir nichts zusätzliches, daher bleibt die Datei unverändert.
Programmcode in dsuche.dart
Kopiere folgenden Code in die Datei bin\dsuche.dart
import 'dart:io';
/// Durchsuchen einer Datei nach einem regulären Ausdruck.
/// [args]: Programm-Argumente, z.B. [r'https?://', 'rechnung.txt']
void main(List<String> args) {
if (args.length < 2){
print('Gebrauch: dsuche <suchmuster> <date>\nBeispiel: dsuche "https?://" rechnung.txt');
} else {
final lines = File(args[1]).readAsLinesSync();
RegExp regExp = RegExp(args[0], caseSensitive: false);
for (var line in lines){
if (regExp.firstMatch(line) != null){
print(line);
}
}
}
}