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 ?
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 ?
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 ?