Dateien durchsuchen

Status
Nicht offen für weitere Antworten.
I

Iron

Gast
Hi,

ich möchte mit einem Java-prog. Dateien mit eine bestimmten Endung durchsuchen und diese wiederum selbst nach einen bestimmten Teil-Inhalt zb. "irgendwas*" mir ist der erste Teil des Textes bekannt dann folgt eine unterschiedliche Ziffernfolge... nun möchte ich den Dateinamen mit dem Text durch ein ";" trennen.
Verzeichnis durchsuchen ist kein Prob. aber leider wie die Datei selbst durchsuche weis ich net!

Gruß iron
 

Reen

Bekanntes Mitglied
Servus....

Mach dich mal ein wenig über die Klasse StringTokenizer und Reguläre Ausdrücke schlau. Das sollte im Prinzip das sein, nachdem du suchst.

gruss
Reen
 
I

Iron

Gast
Leider kann ich den StringTokenizer nicht nutzen, da ich einen Java-Quellcode durchsuchen muss hier soll ich nachsehen ob irgendwo "public static String modulid = "-1";" drin steht, wobei der wert innerhalb von "-1" irgendein int ist
 

@x.l

Bekanntes Mitglied
Iron hat gesagt.:
Leider kann ich den StringTokenizer nicht nutzen, da ich einen Java-Quellcode durchsuchen muss hier soll ich nachsehen ob irgendwo "public static String modulid = "-1";" drin steht, wobei der wert innerhalb von "-1" irgendein int ist

Na da hast du es doch fast schon. Du liest die Datei einfach Zeielenweise ein und überprüfst in jeder Zeile ob dein gewünschter String enthalten ist. Da du ja eh nach public static String modulid = suchst, ist doch "-1" gar nicht von Relevanz, oder?

Grüße
Axel
 
I

Iron

Gast
fast...
nur muss ich die ModulID incl. deren Wert mit dem Dateinamen in einer Datei schreiben...

ich habe bisher die Suchfunktion für Java-Dateien, nun muss ich dieses öffnen und schauen ob die ModulID da ist oder nicht wenn da... Dateiname ; MudlID "???" in oder halt anstelle ModulID none wenn keine vorhanden ist.

Code:
public class MudulId_suchen {

	private String sVerzeichnis = null;
	int t = 0;

	public void processDirectory(String rootDirectory) {
		File verzeichnis = new File(rootDirectory);
		String actVerzeichnis = verzeichnis.toString();
		String[] verNamen = verzeichnis.list();
		File actFile = null;
		String tagName = null;

		if (verNamen != null) {
			for (int i = 0; i < verNamen.length; i++) {
				actFile = new File(actVerzeichnis + "/" + verNamen[i]);

				if (actFile.isDirectory()
						&& verNamen[i].startsWith(".") == false) {

					processDirectory(actVerzeichnis + "/" + verNamen[i]);
				} else {
					if (verNamen[i].endsWith(".java")) {

						System.out.println(verNamen[i]);
						System.out.println(t++);
					}
				}
			}
		}

	}

	public static void main(String argv[]) {
		MudulId_suchen templateMover = new MudulId_suchen();
		String baseDirectory = "c://projekte/crm2/src/";

		templateMover.processDirectory(baseDirectory);
	}

}
 

Murray

Top Contributor
Code:
public class MudulId_suchen {

   private String sVerzeichnis = null;
   int t = 0;

   public void processDirectory(String rootDirectory) {
      File verzeichnis = new File(rootDirectory);
      String actVerzeichnis = verzeichnis.toString();
      String[] verNamen = verzeichnis.list();
      File actFile = null;
      String tagName = null;

      if (verNamen != null) {
         for (int i = 0; i < verNamen.length; i++) {
            actFile = new File(actVerzeichnis + "/" + verNamen[i]);

            if (actFile.isDirectory()
                  && verNamen[i].startsWith(".") == false) {

               processDirectory(actVerzeichnis + "/" + verNamen[i]);
            } else {
               if (verNamen[i].endsWith(".java")) {

                  System.out.println(verNamen[i]);
                  System.out.println(t++);

                  //--- actFile als Textdatei öffnen (Stichwort: BufferedReader)

                  //--- Datei zeilenweise einlesen (Stichwort: BufferedReader#readLine)

                  //--- jede Zeile prüfen ob:
                  //           a) letztes Zeichen ein Semikolon ist
                  //           b) der String "public" enthalten ist
                  //           c) der String "static" enthalten ist
                  //           d) der String "String" enthalten ist
                  //           e) der String "modulid" enthalten ist
                  //           f) ein Gleichheitszeichen enthalten ist
                  //  (Stichwort: String#indexOf)

                  //--- Teilstring zwischen Gleichheitszeichen und Semikolon isolieren (Stichwort: String#substring)

               }
            }
         }
      }

   }

   public static void main(String argv[]) {
      MudulId_suchen templateMover = new MudulId_suchen();
      String baseDirectory = "c://projekte/crm2/src/";

      templateMover.processDirectory(baseDirectory);
   }

}
Nach oben
 
I

Iron

Gast
Ich war leider die lezten Tage aus Privaten Gründen verhindert und konnte erst heute weitermachen...

ich bin nun soweit gekommen, dass ich die Datei einlese und ein Semikolon als Trennzeichen verwende.
Leider bekomme ich es nicht hin den String nun zeilenweise zu durchsuchen (Komplett kein Prob)
Code:
// Erzeugt ein File-Objekt
						File dateiname = actFile;

						try {
							// FileReader zum Lesen aus Datei
							FileReader fr = new FileReader(dateiname);
							BufferedReader br = new BufferedReader(fr);

							// Der String, der am Ende ausgegeben wird
							String gelesen;
							// char-Array als Puffer fuer das Lesen. Die
							// Laenge ergibt sich aus der Groesse der Datei
							char[] temp = new char[(int) dateiname.length()];
							//lesevorgang
							fr.read(temp);
							// Umwandlung des char-Arrays in einen String
							gelesen = new String(temp);
							FileName = verNamen[i];
							StringTokenizer liste = new StringTokenizer(gelesen, ";");
							fr.close();

hat jemand noch ein ansatz für mich...
Wenn ich nicht im Rollstuhl säße würde ich jetzt schon vor dank auf die Knie fallen für eure bisherige Hilfe!!!
 

Murray

Top Contributor
Wie schon geschrieben: BufferedReader#readLine
Damit bekommst du genau eine Zeile aus der Datei.
 
S

SlaterB

Gast
Tipp: Dateien zu laden und dann deren Inhalt zu durchsuchen sind zwei unterschiedliche Dinge,
du musst jetzt nicht für das zweite Problem jedes Mal eine Datei laden oder gar diesen Ladecode hier posten..

fange mit
Code:
public class Test
{
    public static void main(String[] args)
    {
        String text = "Hallo Welt.";
        System.out.println(text);
    }
}
an und dann gehts los

---------

also was ist deine Frage?
du hast bisher nur
StringTokenizer liste = new StringTokenizer(string, ";");
und sonst nix?
danach musst du den Inhalt der liste auslesen und verarbeiten,
weißt du denn überhaupt ungefähr, was ein StringTokenizer so macht?
kann man nachlesen

und was willst du überhaupt haben?
gib genaue Beispiele,
wie sieht ein Test-String aus,
was genau soll damit passieren usw.
 
I

Iron

Gast
Leider weis ich wirklich nicht viel über den StringTokenizer :-(
Wie schon am Anfang gesagt ich mache ein Praktikum um wieder nach mein Unfall ins Arbeitsleben zurück zu kommen...
Früher habe ich PC repariert Netzwerke installiert usw.
Aber ausser mit ein wenig HTML, CSS und PHP nix mit dem programmieren am Hut gehabt.
Mittlerweile weis ich, dass ich mit while, moreTokens eine schleife erstellen muss (die hatte ich in meinen code noch nicht drin wollte erst mal nur testen ob es überhaupt geht)
Nun soll ich verschiedene Java Dateien nacheinander per Rekursiver Schleife durchsuchen und aus den Java-Dateien mehreres heraussuchen:
1. Dateiname (funktioniert bereits)
2. das "package" (habe ich noch nicht)
3. ob "public static String modulid ="....";" vorhanden ist (die punkte stehen für irgendwelche integer )

die 3 Ergebnisse sollen dann in einer Datei geschrieben werden, wenn 2 und/oder 3 nicht vorhanden soll none geschrieben werden
Wie gesagt, dass schreiben der Datei funktioniert, aber bisher wird nur der Dateiname und als Trenner 3 Semikolons rein geschrieben.

Ich weiss, dass ich in etwa so der code aussehen müsste:
Code:
...
StringTokenizer liste = new StringTokenizer(gelesen, ";");
while (liste.hasMoreTolens())
{
if (...){

}
}
...[code]
in etwa aussehen müsste!
Verzeiht mir, dass ich in euren Augen evtl. so blöde fragen stelle, aber in meiner Praktikumsfirma bekomme ich leider keinerlei Unterstützung aber von deren Bewertung hängt es ab um ich eine Umschulung als Fachinformatiker machen kann oder ob ich aufs Abstellgleis gestellt werde :-(
 
S

SlaterB

Gast
was man über StringTokenizer oder sonstige Split-Operationen so wissen kann, steht in Lehrbüchern wie
http://www.galileocomputing.de/open...04_007.htm#mj988c7c18fb68e5e4e9b5abdcdd431243

ein Großteil der Aufgabe ist dann aber reines Denken,
Erkennen wie Dateien aufgebaut sind, was man in welcher Reihenfolge abfragen muss,
was optional ist/ mehrfach oder alternativ auftauchen kann usw.,

noch ein Tipp: ein Zeilenumbruch ist das Zeichen \n,
wenn du den Text danach trennst, hast du einzelne Zeilen

--------

dass du allein in den letzten 2 Posts 3x auf deinen Unfall/ böse Firma + letzte Chance hinweist finde ich persönlich nicht sehr fair/ angenehm,
deswegen verabschiede ich mich
 
I

Iron

Gast
sorry, wenn ich das so betont habe... fühle mich halt sehr in der enge gedrängt, ich habe lange kämpfen müssen, dass ich überhaupt noch ne chance auf einer umschulung bekommen habe, es ist halt leider so, dass ich bisher ausser privat ein wenig für meine webseite nie etwas mit programmieren zu tun hatte.
Mir wurde der nagel halt auf der Brust gesetzt... "Sie haben ja bereits Jahrelang im EDV-Service gearbeitet, darum kommt für Sie nur eine Umschulung als Fachinformatiker in Frage" meine interessen und wünsche werden/wurden ignoriert und ich möchte mit knapp 30 nicht in Rente gehen.

aber nichts desto trotz erstmal allen ein herzliches Dankeschön!!
Die Lösung ist:
Code:
while (liste.hasMoreTokens()) 
							{
								// Lese Befehl ein
								String tmp ="";
								tmp=liste.nextToken();
								int p = tmp.indexOf("ackage");
								if ( p  >= 1) {

								    // Lese Parameter ein
									p_name=tmp;
									}
								int m = tmp.indexOf("modulid =");
								if ( m  >= 15) {

								    // Lese Parameter ein
									m_name=tmp;
									}
							}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Classpath Dateien einbinden und Classpath durchsuchen Java Basics - Anfänger-Themen 2
I Dateien in Ordner und Unterordner durchsuchen Java Basics - Anfänger-Themen 18
J Ordner und Unterordner nach Dateien durchsuchen Java Basics - Anfänger-Themen 7
D schnelles durchsuchen von Dateien Java Basics - Anfänger-Themen 29
O Performant große Dateien durchsuchen Java Basics - Anfänger-Themen 8
M Eclipse: Durchsuchen aller Dateien? Java Basics - Anfänger-Themen 1
T Ordner nach Dateien durchsuchen Java Basics - Anfänger-Themen 2
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
I Dateien aus dem Resource Folder laden Java Basics - Anfänger-Themen 2
A Thread XML-Dateien zusammenfügen Java Basics - Anfänger-Themen 11
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
J Dateien lesen und schreiben Java Basics - Anfänger-Themen 5
B Jar Dateien ohne IDE verwenden? Java Basics - Anfänger-Themen 1
A Optimierung eines Programms: Mergen der Dateien Java Basics - Anfänger-Themen 23
A Zwei XML-Dateien Mergen Java Basics - Anfänger-Themen 14
A Input/Output Mehrere Csv-Dateien einlesen Java Basics - Anfänger-Themen 2
LetsSebi Dateien werden nicht in Zip gespeichert Java Basics - Anfänger-Themen 1
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
J Alle Dateien aus einem Verzeichnis laden Java Basics - Anfänger-Themen 10
MiMa log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
M Scannen von *.txt - Dateien; wo sind der oder die Fehler? Java Basics - Anfänger-Themen 4
A Input/Output Dateien einlesen und ausgeben Java Basics - Anfänger-Themen 7
S Lese- / Schreibfähigkeit von Dateien sicherstellen Java Basics - Anfänger-Themen 1
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
L Classpath Alle Dateien im Classpath finden Java Basics - Anfänger-Themen 4
MiMa Formate für Dateien und Pfade? Java Basics - Anfänger-Themen 1
O Datei in mehrere kleine Dateien umwandeln Java Basics - Anfänger-Themen 47
L Richtige Reihenfolge der Dateien Java Basics - Anfänger-Themen 5
CptK Datentypen Text Dateien einlesen Java Basics - Anfänger-Themen 3
J Logging erzeugt zwei dateien.... Java Basics - Anfänger-Themen 7
A Dateien Verschieben Java Basics - Anfänger-Themen 1
M Mehre Dateien parallel kopieren mit Multithreading Java Basics - Anfänger-Themen 8
C Methoden Dateien im Ordner anzeigen Java Basics - Anfänger-Themen 12
J Java-Dateien lassen sich nicht editieren Java Basics - Anfänger-Themen 46
E FTP Dateien hochladen Java Basics - Anfänger-Themen 3
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
Korvinus Vergleichen von 2 csv-Dateien Java Basics - Anfänger-Themen 2
I Texte mit Absätzen in Dateien speichern und auslesen Java Basics - Anfänger-Themen 1
M "substring()" mit Dateien und Pfadangaben Java Basics - Anfänger-Themen 5
Voreck Jar Dateien Standart programm ändern Java Basics - Anfänger-Themen 12
K Dateien aus Source-Package verwenden Java Basics - Anfänger-Themen 10
B Dateien aus dem "resource" - Folder kopieren in Verzeichnis Java Basics - Anfänger-Themen 9
B Kopieren von Dateien mit Adminberechtigungen Java Basics - Anfänger-Themen 14
F Threads ftp4j, viele Dateien upload Java Basics - Anfänger-Themen 5
P Einen Ordner mit Dateien hochladen [FTP] Java Basics - Anfänger-Themen 2
X Dateien direkt hintereinander schreiben, Dateiname Java Basics - Anfänger-Themen 25
G Messwerte in 2 Dateien schreiben Java Basics - Anfänger-Themen 20
C Verarbeitung von sehr großen Dateien Java Basics - Anfänger-Themen 52
F Input/Output Dateien lesen/schreiben Java Basics - Anfänger-Themen 1
V Mehrere Dateien aus JFileChooser in eine ArrayList speichern Java Basics - Anfänger-Themen 2
K Dateien lesen | IndexOutOfBoundsException Java Basics - Anfänger-Themen 2
T Classpath Problem mit dem auslesen von Text-Dateien (Pfad) Java Basics - Anfänger-Themen 3
A attach source: Zusammenhang zwischen JAR und .class/.java Dateien? Java Basics - Anfänger-Themen 2
T .jar Datei als Ordner benutzen/ Dateien aus .jar Datei auslesen Java Basics - Anfänger-Themen 3
C Klassen Class Files nachladen (mehrer .jar Dateien) Java Basics - Anfänger-Themen 2
Bluedaishi for schleife um Dateien wieder zusammen zu fügen Java Basics - Anfänger-Themen 11
S Resourcen-Dateien im Jar-File verfügbar machen (Intellij 14) Java Basics - Anfänger-Themen 14
J Dateien für anderen User "mitgeben" Java Basics - Anfänger-Themen 1
S Dateien mit Java verschieben Java Basics - Anfänger-Themen 6
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
E Dateien werden nicht gelöscht Java Basics - Anfänger-Themen 10
S Class Dateien decompilieren Java Basics - Anfänger-Themen 4
T Fehler beim Schreiben in Dateien! Java Basics - Anfänger-Themen 4
Bluedaishi Dateien Lassen sich unter windows nicht löschen Java Basics - Anfänger-Themen 8
Z Mehrere XML-Dateien zu einer zusammenfügen Java Basics - Anfänger-Themen 3
K JAR Dateien einbinden - funkt nicht wie es sollte... Java Basics - Anfänger-Themen 22
M Threads nio Dateien kopieren, Threads und Gui Java Basics - Anfänger-Themen 0
J *.sql Dateien in Java Java Basics - Anfänger-Themen 1
P Dateien im Ordner auflisten. Java Basics - Anfänger-Themen 3
P Compiler-Fehler .java Dateien kompilieren und .class Dateien zur .jar Java Basics - Anfänger-Themen 4
S Daten aus anderen Dateien in neue Datei einlesen Java Basics - Anfänger-Themen 3
M Input/Output Arbeiten mit extrem vielen Dateien Java Basics - Anfänger-Themen 8
R File chooser Dateien in frame anzeigen lassen Java Basics - Anfänger-Themen 5
N tar-Dateien Java Basics - Anfänger-Themen 6
B Methoden Dateien konvertieren Java Basics - Anfänger-Themen 3
L Dateien speichern/auslesen Java Basics - Anfänger-Themen 5
M Input/Output Probleme beim Parsen von CSV und TXT Dateien Java Basics - Anfänger-Themen 7
P Wiedereinstieg und kann keine Dateien mehr öffnen... Java Basics - Anfänger-Themen 13
N Java Programm zum Suchen und Ersetzen von Text Dateien Java Basics - Anfänger-Themen 10
S Dateien/LinkedList/StringBuffer - SOrtierung klappt nicht so ganz Java Basics - Anfänger-Themen 2
U Best Practice Nicht-permanente Links auf Dateien Java Basics - Anfänger-Themen 5
B In welchem (Default) Pfad erstellt Java Dateien? Java Basics - Anfänger-Themen 4
I Methoden zum lesen und speichern von Dateien Java Basics - Anfänger-Themen 2
B .ut dateien ignorieren und fortsetzen Java Basics - Anfänger-Themen 9
R Ressourcen in JAR-Dateien Java Basics - Anfänger-Themen 2
J jar Dateien global erreichbar machen Java Basics - Anfänger-Themen 3
L Zusammenführen mehrerer .txt Dateien Java Basics - Anfänger-Themen 4
M Dateien erstellen/ bearbeiten/ lesen Java Basics - Anfänger-Themen 9
S Dateien in RAM kopieren und ausführen? Java Basics - Anfänger-Themen 4
O Java Dateien verschlüsseln? Java Basics - Anfänger-Themen 22
K Unterschied zwischen Jar, war und ear Dateien Java Basics - Anfänger-Themen 3
B Dateien kopieren, entpacken, XML auslesen! Java Basics - Anfänger-Themen 7
B Dateien Verschieben! Java Basics - Anfänger-Themen 8
B ältere Dateien verschieben Java Basics - Anfänger-Themen 3
G Erste Schritte Nach bestimmten Dateien suchen und dann in die Registry schreiben. Java Basics - Anfänger-Themen 6
J Laden von Dateien Java Basics - Anfänger-Themen 19
I Xml dateien zusammenfügen Java Basics - Anfänger-Themen 12
J Markierte Einträge (Dateien) in JList sollen in einen anderen Ordner verschoben werden. Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben