IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Premiers pas java.nio.file


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Homme Profil pro
    ITESCIA
    Inscrit en
    Janvier 2013
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : ITESCIA
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2013
    Messages : 101
    Points : 55
    Points
    55
    Par défaut Premiers pas java.nio.file
    Bonjour,

    Je viens de découvrir l'API java.nio.file, et je rencontre quelques difficultés à faire ce que je souhaite avec

    Voila mon problème:
    J'ai deux variables Path (source et target)

    Elle "pointe" sur le même fichier, dans deux répertoires différents.
    Et je souhaite copier source sur target (En utilisant l'option REPLACE_EXISTING)

    Et là c'est le drame....
    Si le fichier target n'existe pas, pas de problème. Par contre s'il existe je me récupère une exception :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    java.nio.file.AccessDeniedException: C:\mon\path\blabla\monfichier.h
    	at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
    	at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
    	at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
    	at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown Source)
    	at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(Unknown Source)
    	at java.nio.file.Files.deleteIfExists(Unknown Source)
    	at com.xxx.mbde.gettools.GetTools.moveFile(GetTools.java:470)
    	at com.xxx.mbde.gettools.GetTools.getProject(GetTools.java:382)
    	at com.xxx.mbde.gettools.view.GetView$ToolItemListener.widgetSelected(GetView.java:573)
    	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
    	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
    	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
    	at com.xxx.mbde.gettools.view.GetView.execute(GetView.java:234)
    	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
    	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
    	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
    	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
    	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
    	at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:829)
    	at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:815)
    	at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:805)
    	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
    	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
    	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
    	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
    	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
    	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
    	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
    	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
    	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
    	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
    J'aimerai bien comprendre pourquoi

    Voici mon code si ça peut vous aidez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Path source = Paths.get(output, pathes[i], file.getName());
    Path target = Paths.get(output, pathes[i+1], file.getName());
     
    Files.createDirectories(target.getParent());
     
    Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.COPY_ATTRIBUTES);
    Merci pour votre attention !

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    Ton fichier est utilisé par un autre processus, ou tu n'as pas les droits nécessaire pour le supprimer !
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. configuration path / premiers pas en java
    Par exoprod dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 02/04/2010, 10h41
  2. Premiers pas en JAVA et déjà une logique qui m'échappe.
    Par Jean-Jacques Engels dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 16/03/2010, 16h31
  3. Ajax JAVA premiers pas
    Par adilooo dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 04/11/2008, 17h07
  4. Premiers pas en Java
    Par Jiyuu dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 17/03/2008, 19h21
  5. premier pas avec java
    Par single dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 05/08/2007, 09h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo