Avatar billede deepcore Nybegynder
25. november 2005 - 14:13 Der er 2 kommentarer

java.io.FileNotFoundException: Could not find file HVORFOR?

Flg kodestump ligger på min GUI.
Den skal bruges til at sætte hhv. et input og et output directory som der skal læses/skrives filer til.

directory navnet gemmes i enten String inputdir, eller String outputDir som er globale variabler.

nogle gange går det fint... andre gange får jeg en exception ala den indsat nederst... men hvorfor?

selve metoden:

  private void chooseDirectory(String choosertitle, boolean isInputDir)
  {
    JFileChooser chooser = new JFileChooser(new File(inputDir));
    chooser.setCurrentDirectory(new java.io.File("."));
    chooser.setDialogTitle(choosertitle);
    chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
    {
      if(isInputDir)
      {
        inputDir=chooser.getCurrentDirectory().toString();
        inputLocationTextField.setText(inputDir);
      }
      else
      {
        outputDir=chooser.getCurrentDirectory().toString();
        outputDirTextField.setText(outputDir);
      }
    }
  }


Exception der kastes:

FileSystemView.getShellFolder: f=.

java.io.FileNotFoundException: Could not find file C:\jdev1012\jdev\mywork\Diplom\Project\.

    at sun.awt.shell.Win32ShellFolder2.parseDisplayName(Win32ShellFolder2.java:580)

    at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Win32ShellFolderManager2.java:40)

    at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Win32ShellFolderManager2.java:36)

    at sun.awt.shell.ShellFolder.getShellFolder(ShellFolder.java)

    at javax.swing.filechooser.FileSystemView.getShellFolder(FileSystemView.java:486)

    at javax.swing.filechooser.FileSystemView.getFiles(FileSystemView.java:409)

    at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run(BasicDirectoryModel.java:194)

java.lang.NullPointerException

    at javax.swing.filechooser.FileSystemView.getFiles(FileSystemView.java:412)

    at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run(BasicDirectoryModel.java:194)

FileSystemView.getShellFolder: f=.

java.io.FileNotFoundException: Could not find file C:\jdev1012\jdev\mywork\Diplom\Project\.

    at sun.awt.shell.Win32ShellFolder2.parseDisplayName(Win32ShellFolder2.java:580)

    at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Win32ShellFolderManager2.java:40)

    at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Win32ShellFolderManager2.java:36)

    at sun.awt.shell.ShellFolder.getShellFolder(ShellFolder.java)

    at javax.swing.filechooser.FileSystemView.getShellFolder(FileSystemView.java:486)

    at javax.swing.filechooser.FileSystemView.getFiles(FileSystemView.java:409)

    at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run(BasicDirectoryModel.java:194)

java.lang.NullPointerException

    at javax.swing.filechooser.FileSystemView.getFiles(FileSystemView.java:412)

    at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run(BasicDirectoryModel.java:194)

FileSystemView.getShellFolder: f=.

java.io.FileNotFoundException: Could not find file C:\jdev1012\jdev\mywork\Diplom\Project\.

    at sun.awt.shell.Win32ShellFolder2.parseDisplayName(Win32ShellFolder2.java:580)

    at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Win32ShellFolderManager2.java:40)

    at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Win32ShellFolderManager2.java:36)

    at sun.awt.shell.ShellFolder.getShellFolder(ShellFolder.java)

    at javax.swing.filechooser.FileSystemView.getShellFolder(FileSystemView.java:486)

    at javax.swing.filechooser.FileSystemView.getFiles(FileSystemView.java:409)

    at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run(BasicDirectoryModel.java:194)

java.lang.NullPointerException

    at javax.swing.filechooser.FileSystemView.getFiles(FileSystemView.java:412)

    at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run(BasicDirectoryModel.java:194)
Avatar billede mikkelbm Nybegynder
25. november 2005 - 14:36 #1
Fordi der ikke er en fil der hedder "."

C:\jdev1012\jdev\mywork\Diplom\Project\.

Jeg ved ikke om det er din new File (".") der driller.

Prøv måske:

new File (System.getProperty("user.dir"));

i stedet.
Avatar billede deepcore Nybegynder
28. november 2005 - 13:12 #2
det var nu ikke den der drillede.
kiggede på http://java.sun.com/developer/JDCTechTips/2004/tt0316.html#1
og fandt ud af at det fejler når man bruger getCurrentDirectory().toString() på filechooseren.
istedet skal man tilgå sit filobjekt man får fra filechooseren og på det bruge getPath()..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester