file.isDirectory() liefert falschen Wert!?

Anfänger2011

Bekanntes Mitglied
Hallo liebes Java-Forum,

file.isDirectory() liefert bei mir wenn ich eine Datei (.txt) öffnen true zurück. Das kann ja eigentlich nicht sein, da es sich um eine Datei und nicht um ein Ordner handelt. Wo liegt also der Fehler?

Code:
Java:
public File[] openFileChooser(){
        JFileChooser chooser = new JFileChooser();
        chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
        int rueckgabeWert = chooser.showOpenDialog(null);
        if(rueckgabeWert == JFileChooser.APPROVE_OPTION && openFileChooserCheckDirectory(chooser.getSelectedFile()))
        {
            fileList = chooser.getSelectedFile();
            return loadMaps();
        }
        return null;
    }
   
    private boolean openFileChooserCheckDirectory(File proveFile){
        if(proveFile.isDirectory()){
            System.out.println("directory");
            return true;
        }else{
                        System.out.println("directory");

            Message noDirectory = new Message(null, true);
            noDirectory.setConfig("Das Öffnen des ausgewählten Pfades ist nicht möglich. Sie können einen Ordner, der den .nMap-Dateityp beeinhaltet öffnen.", "Anderen Pfad öffnen", "Abbrechen");
            noDirectory.hideButton2();
            boolean end = false;
            while(!end){
                if(noDirectory.clicked == true && noDirectory.goOn == true){
                    end = true;
                    return true;
                }
            }
        }
        return false;
    }

LG Dominik
 
Java:
class Testings
{

    public static void main(String[] args)
    {
        Testings otest = new Testings();
        File f = new File("C:/****/******/*****/***.txt");
        if (f.exists())
        {
            System.out.println("File exists");
            System.out.println(otest.openFileChooserCheckDirectory(f));   
        }
       
       

    }

    private boolean openFileChooserCheckDirectory(File proveFile)
    {
        if (proveFile.isDirectory())
        {
            System.out.println("Ich bin ein directoy :-)");
            return true;
        }
        else
        {
            System.out.println("Ich bin gar kein direcoty :-(");

            boolean end = false;

        }
        return false;
    }
}


Code:
File exists
Ich bin gar kein direcoty :-(
false


Hat dich vielleicht dein Sysout verwirrt? du gibst dort im TRUE- als auch im FALSE-Fall "Directory" aus.
 

Neue Themen


Zurück
Oben