1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Aus mehreren TXT Dokumenten etwas heraussuchen

  • franzderkanns
  • 3. August 2009 um 15:17
  • Unerledigt
  • franzderkanns
    2
    franzderkanns
    Mitglied
    Punkte
    35
    Beiträge
    6
    • 3. August 2009 um 15:17
    • #1

    Also ich habe einen Ordner mit einem Haufen TXT Dokumente (896 Dateien). Jetzt muss ich aus jeder Datei einen bestimmten Wert heraussuchen, was ich mit einer Scanner Klasse lösen möchte. Ist der Wert ausgelesen soll er in ein neues TXT Dokument gespeichert werden, also in Listenform wo alle Werte gespeichert sind.

    Meine Frage ist wie kann ich nun mehrere TXT Dokumente einlesen. In Eprog hab ich immer "java InputReader < hallo.txt" gelöst aber wie kann ich jetzt ein txt Dokument nach dem andern checken und dann den Wert wieder in ein TXT Dokument speichern?

    Habt ihr einen Lösungsansatz?

    MFG Franz

  • spinball
    11
    spinball
    Mitglied
    Reaktionen
    67
    Punkte
    1.192
    Beiträge
    223
    • 3. August 2009 um 15:51
    • #2
    Java
    import java.io.File;
    
    
    public class Main {
    	public static void main(String[] args) {
    		File dir = new File("/home/blubb/");
    		for(File f:dir.listFiles()) {
    			System.out.println(f);
    		}
    	}
    }
    Alles anzeigen
  • Erklärbär
    8
    Erklärbär
    Mitglied
    Reaktionen
    6
    Punkte
    661
    Beiträge
    130
    • 3. August 2009 um 15:53
    • #3

    machs mit commandline-parametern.

    Code
    class Test {
      public static void main(String args[]) {
        for (String a : args) {
          System.out.println(a);
        }
      }
    }

    aufruf mit

    Code
    java Test *.txt

    einfach nur genial: wenn man im wort "Mama" 4 buchstaben ändert, dann hat man auf einmal "Bier"

  • tsp
    3
    tsp
    Mitglied
    Punkte
    90
    Beiträge
    15
    • 3. August 2009 um 15:58
    • #4

    Für's finden von Dateien in Verzeichnissen gibt's im "Java ist auch eine Insel" Buch ein nettes Beispiel:

    http://openbook.galileocomputing.de/javainsel8/jav…2198a6fd24e917a

    Das Lesen aus der Dateie mit dem Scanner geht dann mit

    Code
    File f = new File(dateiname);
    InputStream s = new FileInputStream(f);
    Scanner sc = new Scanner(s);

    nach dem aufsetzen des Scanners funktioniert alles wie bisher bei der Eingabe über STDIN

  • Jensi
    28
    Jensi
    Mitglied
    Reaktionen
    141
    Punkte
    8.486
    Beiträge
    1.649
    • 3. August 2009 um 20:56
    • #5

    Muß das unbedingt in Java gelöst werden?

  • franzderkanns
    2
    franzderkanns
    Mitglied
    Punkte
    35
    Beiträge
    6
    • 3. August 2009 um 22:13
    • #6

    Nein, aber ich wüsste nicht ich es sonst lösen sollte. Und danke für alle die mir bis jetzt so fleißig geholfen haben, ich bin schon beinahe fertig.

  • Jensi
    28
    Jensi
    Mitglied
    Reaktionen
    141
    Punkte
    8.486
    Beiträge
    1.649
    • 3. August 2009 um 22:59
    • #7
    Zitat von franzderkanns

    Nein, aber ich wüsste nicht ich es sonst lösen sollte.


    Ich wüßt dafür was - einen Shell-Einzeiler:

    Code
    egrep -hoe "<regular expression>" *.txt

    Z. B. mit den Files foo1.txt:

    Code
    foo
    bar 123 baz 456


    und foo2.txt:

    Code
    pak 789 chooie
    quux


    und Matchen aller Zahlen mit der Regular Expression "[[:digit:]]+"

    Code
    jensi@jens:~/temp/txt$ egrep -hoe "[[:digit:]]+" *.txt
    123
    456
    789
  • franzderkanns
    2
    franzderkanns
    Mitglied
    Punkte
    35
    Beiträge
    6
    • 3. August 2009 um 23:04
    • #8

    Wenn du den Text auf Latein geschrieben hättest hätt ich genausoviel verstanden. :)

  • Jensi
    28
    Jensi
    Mitglied
    Reaktionen
    141
    Punkte
    8.486
    Beiträge
    1.649
    • 3. August 2009 um 23:09
    • #9

    Falls es Dich interessiert:

    http://linux-programming.suite101.com/article.cfm/an…shell_scripting
    http://www.freeos.com/guides/lsst/ch01sec07.html
    http://www.arachnoid.com/linux/shell_programming.html

    Kann einem ziemlich viel Arbeit sparen, wenn man sich damit auskennt...

  • lewurm
    7
    lewurm
    Mitglied
    Reaktionen
    17
    Punkte
    437
    Beiträge
    81
    • 3. August 2009 um 23:46
    • #10
    Zitat von Jensi
    Code
    egrep -hoe "<regular expression>" *.txt


    wenn er schon von .TXT endungen spricht wird er kaum die grep-familie auf seinem system intalliert haben (aka "er verwendet wohl windows")

    franzderkanns: falls es dich interessiert und du tatsaechlich windows verwendest, waere entweder wubi oder cygwin der erste richtige schritt fuer dich :)

    lolwoot

  • Jensi
    28
    Jensi
    Mitglied
    Reaktionen
    141
    Punkte
    8.486
    Beiträge
    1.649
    • 3. August 2009 um 23:47
    • #11
    Zitat von lewurm

    wenn er schon von .txt endungen spricht wird er kaum die grep-familie auf seinem system intalliert haben (aka "er verwendet wohl windows")

    Code
    jensi@jens:~/Documents$ find -iname "*.txt" | wc -l
    214
  • franzderkanns
    2
    franzderkanns
    Mitglied
    Punkte
    35
    Beiträge
    6
    • 4. August 2009 um 00:32
    • #12

    Hey Leute also ich muss euch allen ein sehr großes Kompliment aussprechen für die Kompetente und sehr schnelle Hilfe.

    Ich hab mittlerweile geschafft was ich schaffen wollte (mit Java). Leider hab ich mit den anderen Vorschlägen noch nicht sehr viel anfangen können, aber ich werd in den nächsten Tagen ein bisschen darüber informieren.

    VIELEN DANK NOCHMAL AN ALLE!:thumb:

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung