Pfadvervollständigung?

Status
Nicht offen für weitere Antworten.

Math55

Bekanntes Mitglied
hallo, ich versuche mich gerade an einer pfadvervollständigung, ähnlich der shell in linux. dazu habe ich eine methode geschrieben, welche einen pfad übergeben bekommt. der kann so aussehen:


c:\programme --> funzt, alle unterverzeichnisse werden zurückgegeben

c:\prog --> funzt nicht, das liegt an dem matches(....)

hier erstmal der code:

Code:
public static ArrayList completePath(String pathToComplete) {

		File path = new File(pathToComplete);
		File searchPath;
		String[] matches = { "" };
		ArrayList allMatches = new ArrayList();

		//The current path is no dir. --> search for matching dirs
		if (!path.isDirectory()) {
			searchPath = new File(path.getParent());
			
			matches = searchPath.list();

			
			for (int i = 0; i < matches.length; i++) {
				File cont = new File(searchPath + fs + matches[i]);
				if (cont.isDirectory() && cont.toString().matches(".*"+path.getName() + ".*")) {
						allMatches.add(cont.toString());
				
				}
			}
                 //ab hier gehts !!!!
		} else {
			matches = new File(pathToComplete).list();
			for (int i = 0; i < matches.length; i++) {
				File cont = new File(pathToComplete + fs + matches[i]);
				
				if (cont.isDirectory()) {

					
					allMatches.add(cont.toString());
				}
			}
		}
		System.out.println(allMatches.size() + " matches found");

		return allMatches;
	}


sagen wir mal, ich übergebe der methode einen pfad in der art:

c:\programme\te --> soll auf c:\programme\test matchen, matcht aber auch auf zum beispiel c:\programme\converter, da da auch te drin vorkommt.

wie könnte ich das lösen?

DANKE:)
 

Math55

Bekanntes Mitglied
hi, manchmal ist man aber auch dämlich, so sieht die neue zeile aus:

Code:
if (cont.isDirectory() && matches[i].startsWith(path.getName())) {


danke nochmal. :)



ps: wie könnte man das noch machen, dass er nicht auf groß und kleinschreibung achtet?
 

thE_29

Top Contributor
nimm halt tolowercase oder toupper, wird ja nix hin und so kannst du dir sicher sein das es auch immer klein oder groß geschrieben ist!
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben