[java] FileNotFoundException

Pagina: 1
Acties:
  • 138 views sinds 30-01-2008
  • Reageer

  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 09:23
Beschrijving sub-project:

Kopieer tekstbestanden van locatie a naar locatie b.

uitvoering:

Via een UI kies ik een directory op de lokale-pc. Dit gebeurd met een DirectoryChooser die ik van iemand gecopieerd heb (sorry ik weet niet meer van wie). De methode die daar daarvoor gebruikt wordt is.

Java:
1
2
3
4
5
6
7
8
public File getSelectedDirectory()
        {
               JFileChooser chooseWhere = new JFileChooser()
 File where=chooseWhere.getSelectedFile();
        if (!where.isDirectory())
                where=where.getParentFile();
                return where;
        }


De file die ik hiervan terug krijg wordt uiteindelijk ook de file die ik meegeef aan de volgende methode

Java:
1
2
3
4
5
private void copy(File source, File target) 
throws FileNotFoundException, IOException {
        
        log("kan er geschreven worden "+target.canWrite());
        FileOutputStream write = new FileOutputStream(target);


Wanneer ik dit doe krijg ik de volgende output:

"in FILECOPY kan er geschreven worden true"
java.io.FileNotFoundException: D:\testyrew (Toegang geweigerd)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:176)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at util.filecopy.FileCopy.copy(FileCopy.java:166)

Ik heb dit eerst geprobeerd met een vaste waarde voor de filepath, omdat het niet nodig is om een plek te kunnen kiezen en toen kreeg ik dezelfde output. De directory bestaat daar is geen twijfel over mogelijk. Deze is zelfs aangemaakt door de UI van het geheel.

Waar komt deze melding vandaan? java.io.FileNotFoundException: D:\testyrew (Toegang geweigerd)

[ Voor 6% gewijzigd door yrew op 31-07-2003 13:44 ]

Groetjes


  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
Vraagje,
if (!where.isDirectory())
where=where.getParentFile();
return where;
}
Zorgt deze code er niet voor dat "where" de directory naam bevat en niet de bestandsnaam?

groetjes

Pascal


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
Wat gebeurt er als
code:
1
if (!where.isDirectory())


naar false evalueert? Wat wordt er dan ge-returned?

  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 09:23
Au uit je eigen vastgelopen gedachtes breken doet best pijn. Hoe stom kan ik zijn. Ik had dit moeten weten. THANX

Groetjes


  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
suc6 met breken, doet bij mij ook altijd erg veel pijn :)

Pascal


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
yrew schreef op 31 July 2003 @ 14:00:
Au uit je eigen vastgelopen gedachtes breken doet best pijn. Hoe stom kan ik zijn. Ik had dit moeten weten. THANX
Waar ben je precies achter :? Het ligt aan die if?

[ Voor 6% gewijzigd door zneek op 31-07-2003 14:18 ]


  • 0528973
  • Registratie: Juni 2003
  • Laatst online: 15-05-2013
zneek, ja het ligt aan de if, de if zorgt ervoor dat de "where" variabele de directorynaam bevat en niet de naam van de file.

Pascal


  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 09:23
Ik had het bovenstaande in mijn vorige project allemaal al een keer gedaan. Pas de problem, ging hardstikke goed.
Vervolgens blindelings gaan coden gisteren en er van uitgegaan dat ik twee directories mee moest geven ipv twee bestanden.
Dus ook de if structuur die goed in elkaar zit. Ik moet er alleen zelf ff een bestandsnaam achter plakken.

FileOutputStream write = new FileOutputStream(target.getAbsolutePath()+"\\"+source.getName());

[ Voor 13% gewijzigd door yrew op 31-07-2003 14:57 ]

Groetjes

Pagina: 1