Dynamische Rückgabewerte

JvKbF

Mitglied
Hey Leute,

ich habe in meinem Programm einen FileChooser eingebaut. Und jetzt will ich eine Unterscheidung zw. Ordnern und einzelnen Files schaffen. Gut hinbekommen.

jetzt ist mein Problem, wenn ich den Ordner ausgelesen habe und dann will ich die einzelnen Dateien in eine List schreiben. Dafür gebe ich Sie wieder zurück an eine andere Methode. Mein Problem ist allerdings, dass ich ja verschiedene Rückgabewerte haben kann. Also bei einem Ordner ein Array, wobei ich die einzelnen Files ja übergebe (bzw. den Pfad als String ) .. oder ein einzelnes File.

Wenn ich in meinem Programm einen Ordner auswähle nimmt es allerdings nur Das erste File welches im Ordner ist.

Wie kann ich also meine Rückgabewerte dynamisch machen ... ?

Java:
		if(obj.equals(oFlaeche.add_b)){
			b=false;
			String s = pfadAuswahl2();
			oFlaeche.model.addElement(s);
			if ( oFlaeche.model.size() >= 18 ) {
			oFlaeche.scrollPanel.setPreferredSize(new Dimension(420, oFlaeche.scrollPanel.getHeight()+ 20));
			oFlaeche.scrollPanel.setMinimumSize(new Dimension(420, oFlaeche.scrollPanel.getHeight()+20));
			oFlaeche.list.setBounds(0, 0, 420, oFlaeche.list.getHeight()+20);
			
			try {
				Thread.sleep(500);
			} catch (InterruptedException e1) {
				
				e1.printStackTrace();
			}
			}
			
			

			for(int i = 0; i< oFlaeche.model.getSize(); i++){
				String tmp = oFlaeche.model.getElementAt(i).toString();
				
				for(int j = 0; j<oFlaeche.model.getSize(); j++){
					if(tmp.equals(oFlaeche.model.getElementAt(j).toString())){
						if(j!=i){
							JOptionPane.showMessageDialog(null, "Sie haben zwei identische Dateien ausgewählt.", "FEHLER", JOptionPane.WARNING_MESSAGE);
							oFlaeche.model.removeElementAt(j);
						}
					}
				}
			}
		}		
	}

Java:
    public String pfadAuswahl2(){								
    	
    	
  	   JFileChooser fileChooser = new JFileChooser();										// erzeugt ein JFileChooser Objekt
  	   fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);				// setzt den selektionsmodus auf Dateien und Ordner
  	   int result = fileChooser.showOpenDialog(fileChooser);								// setzt eine int variable wenn der OK-Button gedrückt wurde im FileChooser
  	 
  	   if (result == JFileChooser.APPROVE_OPTION) {											// überprüft ob "ok" gedrückt worden ist,denn Aprove Option  ( s. zeile drunter ) 
  		   																					// gibt einen Wert zurück der gleich dem wert ist der result ist. 
  		   File selectedFile = fileChooser.getSelectedFile();								// nimmt das aktuelle File 

  		   if ( selectedFile.isDirectory()) {												// wird ausgeführt, falls ausgewählte Datei ein Ordner ( Directory ) ist. 
  			   File[] filesInDir = selectedFile.listFiles();
  			   		if ( filesInDir != null ) {
  			   			for ( int i = 0; i< filesInDir.length; i++) {
  			   				  			   				return filesInDir[i].getAbsolutePath();

  			   			}
  			   		}
  			   
  		   }else {
  			   	return selectedFile.getAbsolutePath();										// Rückgabewert des Filechoosers ( wenns kein Ordner ist ) 
  		   }	
  	   	  }
	return null;
  	   }



das hier ist der Code .. einmal der Teil in dem mein FileChooser aufgerufen wird und dann das selektierte File in die Liste geschrieben wird. Und einmal der FileChooser welcher entweder den Ordner ( also die darin enthaltenen Dateien ) oder ein einzelnes File übergeben soll.


Hoffe das mein Problem halbwegs verständlich ist :/


Danke schon mal :)
 

Flown

Administrator
Mitarbeiter
Deine Optionen sind:
- String-Array zurückgeben
- List mit Strings

Deine for-Schleife bei einem Directory bringt nichts, denn es gibt dir nur den ersten File zurück, da ein return drinnen steht.
 

arilou

Bekanntes Mitglied
Nun, stattdessen kann man auch ein File[] zurückgeben, dass eben 1 oder viele Einträge hat.
Zumindest, wenn mit den Dingern noch mehr geschehen soll, als nur ihren Namen+Pfad irgendwo auszugeben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ernesto95 HTTP Mit JavaScript erzeugte dynamische Webseite auslesen und nach einem Schlüsselwort durchsuchen Allgemeine Java-Themen 6
districon Rekursion und Dynamische Programmierung Allgemeine Java-Themen 2
hello_autumn Statistische/dynamische Tests Allgemeine Java-Themen 10
E Socket Dynamische Klasse von ObjectOutputStream lesen. Allgemeine Java-Themen 8
P Erste Schritte Dynamische Anzahl von verschachtelten Schleifen Allgemeine Java-Themen 5
K Dynamische Webseiten auslesen Allgemeine Java-Themen 6
S Variablen Dynamische Arrays Allgemeine Java-Themen 2
N Dynamische Objekte / DB Allgemeine Java-Themen 5
B dynamische Java Slideshow Allgemeine Java-Themen 4
SuperSeppel13 Dynamische Bibliotheken einbinden Allgemeine Java-Themen 16
B Script Problem "Dynamische Datenstruktur" Allgemeine Java-Themen 13
A Dynamische PDF Erstellung mit iText Allgemeine Java-Themen 4
ModellbahnerTT Dynamische Programmierung, komme nicht weiter.... Allgemeine Java-Themen 15
C dynamische imports? Allgemeine Java-Themen 13
hdi dynamische return-Werte Allgemeine Java-Themen 15
M JUnit und dynamische Tests Allgemeine Java-Themen 11
X dynamische bindung - Typsystem :?: Allgemeine Java-Themen 5
C dynamische variablen Namen! Allgemeine Java-Themen 4
D dynamische Objekte erzeugen? Allgemeine Java-Themen 16
G eigener logger mittels classe (dynamische logfilename) log4j Allgemeine Java-Themen 15
R Dynamische Sorten-Prüfung? Allgemeine Java-Themen 8
F dynamische ArrayListen? Allgemeine Java-Themen 8
C kann man dynamische variablen namen vergeben? Allgemeine Java-Themen 2
H "dynamische Ladegrafik" Allgemeine Java-Themen 2
C Dynamische Varibalen Allgemeine Java-Themen 3
C dynamische Vererbung Allgemeine Java-Themen 6
MiMa ArrayList Rückgabewerte aus einer Funktion Allgemeine Java-Themen 15
M Kovariante Rückgabewerte mit ArrayList Allgemeine Java-Themen 3
E Rückgabewerte Allgemeine Java-Themen 4
M 2 Methoden, 2 Rückgabewerte, aber ein Ergebnis Allgemeine Java-Themen 7
G zwei Rückgabewerte gefordert. Was tun ? Allgemeine Java-Themen 10
B Mehrere Rückgabewerte Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben