filechooser : exception bei cancel

Status
Nicht offen für weitere Antworten.

Corcovado

Bekanntes Mitglied
Hi,
Gibts ne elegante Moeglichkeit in Java, bei ner String-Variable names "szPath", zu pruefen, ob sie den Pfad eines Textfiles verweist oder nicht, also zB kein File, nen Binaerfile, Elefanten, Bierflaschen... einfach auf nichts usw?

...bzw, gibts ne Exception, die man da abfangen kann ?
Code:
// die Methode sollte zu szPath fuehren...
public String readPath(){ 
    	String szPath = "readPath";
    	
		filechooser = new JFileChooser();	
		hInput = filechooser.showOpenDialog(null);
		file = null;
	
		if(hInput == JFileChooser.APPROVE_OPTION){
			file = filechooser.getSelectedFile();
			szPath = file.getAbsolutePath();
		}
		
		return szPath;
    }


// und hier sollte szPath eben durch einen Funktionsaufruf deklariert werden...
public void someOtherMethod()
...
		String szPath = readPath();
...
		if(!(szPath=="")){
			// set up Buffered Reader
			BufferedReader brLoad = null;
			try{
			    brLoad = new BufferedReader(new FileReader(szPath));
			}catch(Exception loadExcept){
				System.out.println("ERROR :" + loadExcept);
			    loadExcept.printStackTrace();
			    System.exit(0);
			}
			
			// read out "iRow" lines from file and write them to szInputData
			try{
				for( int cnt = 0; cnt < iRow; cnt ++){
					while ((szInputLine = brLoad.readLine()) != null){
						if(szInputLine != ""){
							szLines += szInputLine;
							szInputLine = "";
						}
					}
				}
			}catch( Exception e){
				System.out.println("ERROR: " + e);
			}
			szInputData += szLines;
		}
...

Ich hab mir das irgendwie so vorgestellt. Das funzt aber nich, wenn ich den Filechooser oeffne und einfach auf Cancel gehe, bekomm ich ne Exception und das ganze haengt sich auf - falls ich diese Exception fangen muss, kann mir jemand nen Tipp geben, wo genau ?
 

Illuvatar

Top Contributor
Schau doch mal was passiert, wenn du auf cancel drückst:

Code:
String szPath = "readPath";
szPath ist "readPath" ;)
Code:
if(hInput == JFileChooser.APPROVE_OPTION){ 
         file = filechooser.getSelectedFile(); 
         szPath = file.getAbsolutePath(); 
      }
nix ändert sich
Code:
return szPath;
...
String szPath = readPath();
"readPath" wird zurückgegeben und zugewiesen.
Code:
if(!(szPath=="")){
Is nich "", es wird in das if gegangen -> mit "readPath"
Ach Ja: Strings vergleicht man NIE mit == weil das Objekte sind, immer equals benutzen :!:
Code:
try{ 
             brLoad = new BufferedReader(new FileReader(szPath)); 
         }catch(Exception loadExcept){ 
            System.out.println("ERROR :" + loadExcept); 
             loadExcept.printStackTrace(); 
             System.exit(0); 
         }
Ich vermute mal es gibt keine Datei "readPath", also gibts ne FileNotFoundException. Was sehr nützlich von dir gewesen wäre zu erwähnen und wahrscheinlich zu einer schnelleren Antwort geführt hätte, als wenn ich hier hellsehe ;)
 

Corcovado

Bekanntes Mitglied
Oh - stimmt! Ich dachte ich haette das mit FileNotFoundException erwaehnt.

Danke fuer die ausfuehrliche Antwort. Ich hatte das irgendwann mal mit "readFile" definiert, als ich noch nich genau wusste wie ichs eigenltich mache, dass denke ich mal, hab ich uebersehen und daher immer an der falschen Stelle gesucht - naja suchen will auch gelernt sein ;)

Ich hab auch schon gelesen, dass man fuer Obj in Java wenn moeglich immer ne Funktion nehmen soll statt eines blossen Operators, daher nochn Extra Dank fuer den Hinweis mit equal!!
 

Corcovado

Bekanntes Mitglied
Sry - Nun hab ich noch ein paar fragen dazu :)

1. Gibt es allgemein eine Moeglichkeit, einen String darauf zu pruefen, ob er ein "Dateipfad auf ein Textfile" ist ?
2. Wenn nicht, oder falls doch, wie gehe ich da am besten vor ?
3. Wie mache ich das Haeckchen - is das neu !!???
 

Illuvatar

Top Contributor
1./2. Das einzige was du machen kannst, ist, zu schauen, ob der Pfad mit ".txt" endet.

3. Da links unten ist ein Button ;)
 

Corcovado

Bekanntes Mitglied
OK, ich glaub ich hab das nun auch selber gefunden - war eh gleich ein Bsp in der API unter JFilechooser ;)
Code:
    JFileChooser chooser = new JFileChooser();
    ExampleFileFilter filter = new ExampleFileFilter();
    filter.addExtension("txt");
    filter.setDescription("Text Files");
    chooser.setFileFilter(filter);

Ich werds nun damit versuchen. Wobei es schon interessant waere zu erfahren ob man das auch "proben" koennte, da es ja bei Linux (aber win ja auch) zB nicht unbedingt .txt heissen muss und man bekommt entweder eben Text oder Salat. Aber selber wuesste ich auch nicht wie man dem Compi klar machen sollte, dass Text fuer mich kein Salat ist und das andre schon.

Danke, dann versuch ich das mal mit dem Haeckchen, hehe. :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A JavaFX-Filechooser Java Basics - Anfänger-Themen 5
J Netzwerkadresse im Filechooser angeben Java Basics - Anfänger-Themen 9
E Bild vom FileChooser aus via ImageIcon in DB schreiben Java Basics - Anfänger-Themen 16
D fileChooser weist file nicht zu Java Basics - Anfänger-Themen 2
D Speichern in Excel über Filechooser Java Basics - Anfänger-Themen 21
B Cancel Funktion beim FileChooser Java Basics - Anfänger-Themen 5
S FileChooser - Datei tatsächlich öffnen Java Basics - Anfänger-Themen 5
F FileChooser.. Java Basics - Anfänger-Themen 3
K Java-FileChooser - mehrere Dateien auswählen Java Basics - Anfänger-Themen 3
G Filechooser zum speichern Java Basics - Anfänger-Themen 4
G FileChooser icon ändern? Java Basics - Anfänger-Themen 6
P FileChooser richtig abbrechen? Java Basics - Anfänger-Themen 3
S FileChooser Java Basics - Anfänger-Themen 6
V Textdatei mit filechooser wählen und dann einlesen Java Basics - Anfänger-Themen 4
F FileChooser auslagern Java Basics - Anfänger-Themen 2
G Filechooser ohne Auswahl für Dateityp Java Basics - Anfänger-Themen 2
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
1 Exception Java Basics - Anfänger-Themen 2
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
J null exception Array Java Basics - Anfänger-Themen 5
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
C Exception-Frage Java Basics - Anfänger-Themen 3
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
N Wie teste ich eine geworfene Exception? Java Basics - Anfänger-Themen 8
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception werfen bei falscher Datumseingabe Java Basics - Anfänger-Themen 14
A Exception handeling mit finally und objektreferenzen Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
S Exception Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
S Verwenden von throw Exception an der Funktion Java Basics - Anfänger-Themen 2
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
OSchriever Exception für Abbrechen-Schaltfläche JOptionpane Java Basics - Anfänger-Themen 9
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
J Exception unreachable Java Basics - Anfänger-Themen 12
O unchecked Exception Java Basics - Anfänger-Themen 4
P Exception werfen Java Basics - Anfänger-Themen 15
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
S Exception bei Verwendung von LocalDate Java Basics - Anfänger-Themen 19
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
D Warum die Nullpointer Exception Java Basics - Anfänger-Themen 6
O Exception behandlung einfach Ueben mit Fakt! Java Basics - Anfänger-Themen 10
I OOP Was ist die "Exception Hierarchie" ? Java Basics - Anfänger-Themen 3
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
H Try Catch Throw Exception Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
Mosquera Exception Java Basics - Anfänger-Themen 5
M rekursive division/0 mit exception Java Basics - Anfänger-Themen 18
N Nullpointer exception Java Basics - Anfänger-Themen 4
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
S Array Grenzen-Exception Java Basics - Anfänger-Themen 11
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
G Arrays out of Bounds exception Java Basics - Anfänger-Themen 2
H Compiler-Fehler Out of Bunce Exception bei einem Char Java Basics - Anfänger-Themen 6
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
C Null Pointer Exception Java Basics - Anfänger-Themen 10
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
G Null Pointer Exception Java Basics - Anfänger-Themen 4
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
O Exception bei Parse-Vorgang Java Basics - Anfänger-Themen 17
T Exception Problem Java Basics - Anfänger-Themen 5
Z Getter/Setter NullPointer Exception Java Basics - Anfänger-Themen 6
W Nullpointer Exception bei .add(...) Java Basics - Anfänger-Themen 6
L Input/Output InputMismatch.Exception Java Basics - Anfänger-Themen 7
B Exception Liste von Liste Java Basics - Anfänger-Themen 3
D Throw Exception Java Basics - Anfänger-Themen 2
MiMa JavaDoc Exception @throws schlagen an Java Basics - Anfänger-Themen 4
J Exception in thread "main" Java Basics - Anfänger-Themen 1
B Exception richtig einbinden Java Basics - Anfänger-Themen 1
M Exception soll Werte mitgeliefert bekommen Java Basics - Anfänger-Themen 12
M Selbstdefinierte Exception Java Basics - Anfänger-Themen 5
B Exception Throwable Java Basics - Anfänger-Themen 11
M Erste Schritte Start Methode - Exception Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben