suche im Classpath mit Pattern *.gif

Status
Nicht offen für weitere Antworten.
F

Franz

Gast
Hallo,

gibt es eine Möglichkeit innerhalb des Classpath nach Files zu suchen, deren Namen über ein Pattern angegeben werden?

Zum Beispiel:
Suche über Pattern *.gif soll alle Files, die mit .gif enden zurückliefern.

Gruß
Franz
 
R

Roar

Gast
Bleiglanz hat gesagt.:
er kann doch über die system property java.class.path an die verzeichnise und jars im classpath kommen. so sollte das doch gehen *grübl*
ob das sinn macht oder nicht ist ja ne andere sache...
 

Sky

Top Contributor
Wenn Du weißt, wo Du suchen musst, so ganz der per File#listFiles mit einem entsprechendem FileNameFilter dir die gewünschten Daten holen.
 

AlArenal

Top Contributor
1. Es heißt CLASSpath, nicht RESOURCEpath (so als Denkanstoß)
2. Innerhalb meines JARs sollten mir die vorhandenen Dateien bekannt sein, schließlich habe ich sie reingepackt. ;)
 

Mag1c

Top Contributor
AlArenal hat gesagt.:
1. Es heißt CLASSpath, nicht RESOURCEpath (so als Denkanstoß)

und deshalb gibt es in der Klasse ClassLoader auch Methoden wie:

InputStream getResourceAsStream(String name)
URL getResource(String name)
Enumeration getResources(String name)

(so als Denkrückstoß :) )

Gruß
Mag1c
 

AlArenal

Top Contributor
LOL

Der Classpath ist eine Liste von Verzeichnissen und JARs, in denen benötigte Class-Dateien rumlungern. Relativ zu einer Class-Dateien kann ich mittels ClassLoader auch Resourcen laden. Macht ja auch Sinn.

Weniger Sinn macht es wild im Classpath Resourcen reinzupfeffern und dann rumsuchen zu müssen. Im Falle der Teilpfade zum JRE verbietet sich das einfach. Im Falle von Pfaden die auf JARs zeigen greift Punkt 2 meines obigen Posts.

Es läuft immer darauf hinaus:
1. Sind es meine Dateien, muss ich eh wissen wo sie sind und wie sie heißen.
2. Woanders im Classpath haben Resourcen nichts zu suchen, also brauche ich da auch nicht suchen. ;)

Vielleicht kommt noch jemand auf die krude Idee seine Bilder in einen Ordner zu legen und diesen dann dem Classpath hinzuzufügen, damit er dann in seiner Anwendung.. nein ich möchte gar nicht weiter drüber nachdenken! :)
 

Mag1c

Top Contributor
Hi,

es ist durchaus legitim, z.B. Icons in JAR-Archive zu packen (such mal in den Java-SDK-JARs nach *.gif und *.png ;) ). Will ich jetzt z.B. eine Toolbar vom Nutzer konfigurieren lassen so mit Bildchen und so, steht ich *bumm* genau vor dem gleichen Problem, welches Franz hat.

Aber ich stimme dir zu, es gibt sicher genug Fälle, wo diese Vorgehensweise absolut verkehrt ist.

Gruß
Mag1c
 

AlArenal

Top Contributor
Mag1c hat gesagt.:
es ist durchaus legitim, z.B. Icons in JAR-Archive zu packen (such mal in den Java-SDK-JARs nach *.gif und *.png ;) ). Will ich jetzt z.B. eine Toolbar vom Nutzer konfigurieren lassen so mit Bildchen und so, steht ich *bumm* genau vor dem gleichen Problem, welches Franz hat.

Hab ich ja auch geschrieben und handhabe ich ja auch so. Allerdings schrieb ich auch, dass ich dann weiß wo welche Datei sitzt (Pfad im JAR), sprich, ich muss mich in meinem eigenen JAR doch nicht über den Classpath und Wildcards an meine Resourcen ranrobben. Es sei denn ich habe das Teil mal im Vollrausch programmiert... ;)
 
F

Franz

Gast
Hallo,

zunächst Mal vielen Dank für eure Bemühungen, doch bisher ist noch keine brauchbare Lösung darunter.

Ich werde mein Problem noch einmal genauer schildern:

Für eine erweiterbare Komponentensoftware soll in einer neutralen Fehlerhandling-
Komponente durch die Übergabe einer Fehlernummer der Klartext ermittelt werden.

Die Zuordnung von Fehlernummer zu Fehlertext steht in einer XML-Datei deren Namen
folgende Konvention erfüllen muss: <Komponentename>_Fehlertexte.xml.
Weiterhin muss die Datei bzw. das JarFile, das die Fehlertexte enthält im
Classpath vorhanden sein.

Da die Komponentensoftware von Dritten beliebig erweiterbar ist, ist der Name der Zuordnungsdatei nicht fix.
Ich weiß nur, dass am Ende des Namens _Fehlertexte.xml steht.
Deshalb wäre eine Suche im Classpath mit dem Filter *_Fehlertexte.xml notwendig.

Was tun sprach Zeus ???

Gruss
Franz
 

Mag1c

Top Contributor
Hi,

na kannst du nicht den Komponentennamen ermitteln ? Ich meine, das dürfte doch eine simple Anforderung sein, daß externe Komponenten einen Namen liefern können. Zur Not tuts ja auch der Klassenname.

Dann kannst du nämlich aus Package, Name und Suffix ("_Fehlertexte.xml") einen kompletten Pfad zusammenbauen. Mit getResourceAsStream(String name) kannst du dann gucken, ob es die Datei gibt und sie schlißlich laden.

Gruß
Mag1c
 

KSG9|sebastian

Top Contributor
Da gibts genügend Möglichkeiten, von denen alle wohl besser sind als den CLASSPATH zu durchsuchen.

Ich nehm mal an, dass du ein Interface hast, dass alle Plugins implementieren müssen. Dort könntest du z.B. eine Methode machen

Code:
public String getErrorCode(int errorId);

Dann brauchst du in der Hauptklasse nicht alle Jars die "extern" eingebunden sind zu durchsuchen (!!!!)

So brauchst du auch nicht drauf hoffen, dass jede Person welche ein Plugin schreibt, auch gleich so eine <Komponentenname>_Fehlertexte.xml erstellt, da dass dann jeder Programmierer selbst entscheiden kann.
Für kleine Plugins kannst du die Fehlercodes auch hardcoden, oder du packst sie in ne properties/ini Datei, u.s.w.

Insgesamt bist du so dann wesentlich flexibler.

//Edit: Schwachsinn, ein Interface hält ja nur Methodensignaturen^^
 
G

Guest

Gast
Wenn es wirklich nicht anders geht, gehe alle Jar's im Classpath durch
und suche nach Dateien, die mit "_Fehlertexte.xml" enden.

Alle Classpath-Einträge (ausser sun.boot.class.path) kriegst Du wie folgt heraus
Code:
String paths[] = System.getProperty("java.class.path").split(System.getProperty("path.separator"));
Jetzt hast Du ein Array mit Jar-Dateien und Verzeichnissen, die in Classpath stehen.
Ich gehe mal davon aus, ZIP's und Verzeichnisse kann man hier ignorieren.

Jetzt nur die Jar's durchsuchen
Code:
for(int i=0; i<paths.length; i++) {
  if(paths[i].length()>2 && paths[i].substring(paths[i].length()-3).toLowerCase().equals("jar")) {
    File jarFile = new File(paths[i]);
    if(jarFile.exists() && jarFile.canRead()) {
      JarFile f = new JarFile(jarFile);
      Enumeration e = f.entries();
      while(e.hasMoreElements()) {
        JarEntry entry = (JarEntry)e.nextElement();
        // hier kannst Du anhand von entry.getName() die Einträge finden
        // z.B. if(entry.getName().endsWith("_Fehlertexte.xml"))
      }
      f.close();
    }
  }
}
 
G

Guest

Gast
KSG9|sebastian hat gesagt.:
da find ich meine lösung aber schöner ;)
Klar. Jede Komponente soll sich gefälligst um eigenen Mist kümmern
oder im Klartext jammern. (getErrorCode() etc.). ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Suche nach String mit unbekannten characters Allgemeine Java-Themen 53
M Binäre Suche Allgemeine Java-Themen 6
M geometrische Suche Allgemeine Java-Themen 8
S Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
I HTML / XHTML Seite nach Excel exportieren. Suche Lib Allgemeine Java-Themen 12
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
W Collections Suche Collection, um Strings mit Indizees versehen Allgemeine Java-Themen 47
O Suche Scripter für alt:V Project! Allgemeine Java-Themen 0
D Suche Quellcode! Allgemeine Java-Themen 8
O Suche Unterstützung für ein OpenSource-Projekt (grafischer Editor) Allgemeine Java-Themen 13
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
J Suche Alternative zu Jasper Reports Allgemeine Java-Themen 4
W Collections Suche etwas Sorted-List-Artiges...hat jemand eine Idee? Allgemeine Java-Themen 13
M Suche Alternative zu JFreeChart Allgemeine Java-Themen 11
S Warmup für Lineare-Suche mit Zeitmessung Allgemeine Java-Themen 2
K OOP Suche Hilfe + Erklärung für eine Hausaufgabe Allgemeine Java-Themen 1
B Suche nach einem Testprogramm für meine BA Allgemeine Java-Themen 0
D Objekt-Suche mit mehreren optionalen Parametern Allgemeine Java-Themen 6
A NetBeans Suche Programmierer für eine Belegarbeit Allgemeine Java-Themen 11
O Suche größeres Beispiel für WebserverAnwendung mit Java Allgemeine Java-Themen 2
G Google-Suche ist nicht auslesbar?! Allgemeine Java-Themen 18
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
L Suche nach CalDav Server API Allgemeine Java-Themen 0
HarleyDavidson Best Practice Suche "Container" für Modulapplikationen Allgemeine Java-Themen 0
S Suche Konzept: Korrektheit des Aufrufers feststellen Allgemeine Java-Themen 7
KaffeeFan Methoden Suche Methode um Programm kurz warten zu lassen Allgemeine Java-Themen 22
B Suche geeignete Datenstruktur Allgemeine Java-Themen 5
L Erste Schritte Suche Java Wiki System? Allgemeine Java-Themen 5
L Suche Geräte für Java SE Embedded Allgemeine Java-Themen 0
S Rekursive Suche in einem Netz Allgemeine Java-Themen 5
F Über Java Google Suche nutzen Allgemeine Java-Themen 11
A Suche Android Programmierer Allgemeine Java-Themen 0
W Suche Framework zur Prüfung von IPv4 und IPv6 Allgemeine Java-Themen 2
A Java - Suche nach Datensatz mit DateChooser Allgemeine Java-Themen 0
S Pattern.Match Suche: For Schleife einbinden und in Liste schreiben Allgemeine Java-Themen 3
M Suche Framework/API für Monitoring-Anwendung Allgemeine Java-Themen 3
F Suche kostenlose GUI für Eclipse Allgemeine Java-Themen 10
H Suche mit Wildcards und boolschen Operatoren Allgemeine Java-Themen 4
B Suche passende Datenstruktur für 2 Einträge Allgemeine Java-Themen 19
A Binäre Suche im Array mit StackOverflowError Allgemeine Java-Themen 3
T Verkettete Suche Allgemeine Java-Themen 6
S RxTx - langsame Port suche Allgemeine Java-Themen 3
D Suche Matrix Libraries Allgemeine Java-Themen 11
S Suche Dependency Injection Container Allgemeine Java-Themen 6
J Suche: Tool zum Auffinden gleichnamiger Klassen (Name und Package gleich) in unteschiedlichen JARs Allgemeine Java-Themen 5
BinaryLogic Input/Output Suche Wörterbuch-Datei Einzahl/Mehrzahl Allgemeine Java-Themen 2
A Suche Algorithmus zum Erstellen eines planaren Graphen Allgemeine Java-Themen 5
D Suche Librarys ähnlich datatables.net + Login Allgemeine Java-Themen 3
Gossi Threads Suche ein (einfaches) Beispiel Allgemeine Java-Themen 5
P Erste Schritte Suche in ArrayList mit Maps Allgemeine Java-Themen 4
F Suche Performanceoptimierung bei Stringsortierung Allgemeine Java-Themen 51
B Suche Datenquelle für lizenz-informationen Allgemeine Java-Themen 5
J Lucene suche in Json (CouchDB) Allgemeine Java-Themen 2
X Suche Softwareimplementierung von Cryptographischen Algorithmen Allgemeine Java-Themen 3
S Suche Tipps für Einstieg in JavaCC Allgemeine Java-Themen 2
R Suche in logfiles mit Lucene / Solr Allgemeine Java-Themen 2
P Suche Datenstruktur Allgemeine Java-Themen 2
M Suche Java-Projekt zum Thema Elektrotechnik Allgemeine Java-Themen 6
F Suche Begriff Allgemeine Java-Themen 2
hdi Suche Icon-Sammlung Allgemeine Java-Themen 7
G Suche "richtiges" Framework/Library Allgemeine Java-Themen 14
slawaweis Suche Klassen für Event Managment und Time Allgemeine Java-Themen 2
P Probleme mit wikipedia quellcode zur binären Suche Allgemeine Java-Themen 6
C Suche Permutationsalgo Allgemeine Java-Themen 6
E Suche nach Foto-Dummy Allgemeine Java-Themen 8
B Suche Paket zum auslesen von Metadaten von Bildern. Allgemeine Java-Themen 4
N suche globale Tastenabfrage Allgemeine Java-Themen 6
P SUCHE: gute Geo Library (freeware) Allgemeine Java-Themen 2
P Suche performante PDF Library Allgemeine Java-Themen 20
data89 Bilder mit Java prüfen - suche dringend Hilfe Allgemeine Java-Themen 8
faetzminator Regex zur Suche von "value-losen" Attributen in HTML Tags Allgemeine Java-Themen 7
S Suche im JTree nach Neuaufbau Allgemeine Java-Themen 4
W Problem bei der Suche (binarySearch) vom deutschen Sonderzeichen "ß" im einem Array Allgemeine Java-Themen 6
D Suche nach passender Datenstruktur Allgemeine Java-Themen 4
S suche library die diagramme darstellen kann Allgemeine Java-Themen 2
T Suche Anhaltspunkt für plattformübergreifende, "unique machine id" ... Allgemeine Java-Themen 12
P WebSerive Suche Allgemeine Java-Themen 15
hdi Suche nach Begriff aus der Programmierung Allgemeine Java-Themen 11
X Suche Java Klasse die Feiertage berechnen kann Allgemeine Java-Themen 2
B suche Deutsche Übersetzung für neuste Eclipse Version Allgemeine Java-Themen 6
Daniel_L Suche nach ganzen Wörtern (wholeword) in Strings? Allgemeine Java-Themen 4
G Regex-Suche nach Worten Allgemeine Java-Themen 3
Antoras Suche Projektarbeit für Gruppe mit 3 Leuten Allgemeine Java-Themen 5
G Perfomante Suche in grosser Datei Allgemeine Java-Themen 6
T Suche Tool Allgemeine Java-Themen 11
D Suche sowas wie Map nur für mehrere Werte Allgemeine Java-Themen 13
D Suche Hilfe zum Rechnerübergreifenden Dateizugriff. Allgemeine Java-Themen 3
M suche speziellen Sortieralgorithmus Allgemeine Java-Themen 3
E javax.comm: Suche eine open source Alternative zu rxtx Allgemeine Java-Themen 8
J Suche regex-Pattern fuer Liste von Zahlen zwischen 0-100 Allgemeine Java-Themen 6
T Suche den großen Calendar Thread ! Allgemeine Java-Themen 2
P Suche Benis IP/Netzwerkadresse JTExtField Allgemeine Java-Themen 2
J Suche Doku um generischen Code zu erstellen. Allgemeine Java-Themen 9
G suche Property alternative Allgemeine Java-Themen 4
C Fehler im Quellcode. Suche in einem Baum Allgemeine Java-Themen 3
S Suche Pendant zu einem VB Befehl Allgemeine Java-Themen 2
T Suche gute JAVA Steuerelemente Allgemeine Java-Themen 2
V Suche RegEx zu (gelöstem) Problem Allgemeine Java-Themen 3
B Suche Browser-Control Allgemeine Java-Themen 4
G Suche Programmierumgebung mit Appletviewer Allgemeine Java-Themen 16

Ähnliche Java Themen

Neue Themen


Oben