[Erreur JSP/JAVA] NIO copie de fichier en java
Bonjour,
Dans le cadre d'un projet scolaire je dois copier une image d'un dossier vers un autre.
J'ai donc utiliser le code suivant :
JSP:
Code:
1 2 3 4 5 6 7 8 9 10
| <%@page import="com.metier.*"%>
<%@page import="com.persistence.*"%>
<%@page pageEncoding="UTF-8"%>
<jsp:useBean id="monAppli" scope="application" class="com.metier.DiscoApplication"/>
<%
String chemin = request.getParameter("chemin");
String cheminref = request.getParameter("cheminref");
Reference.remplacer(chemin, cheminref);
request.getRequestDispatcher("../disco.jsp").forward(request, response);
%> |
Le code de Reference.remplacer(String, String)
Code:
1 2 3 4 5 6
| public static boolean remplacer(String source, String destination) throws IOException {
Path psource = Paths.get(source);
Path pdestination = Paths.get(destination);
Files.copy(psource, pdestination, StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.COPY_ATTRIBUTES);
return true;
} |
Lors de l’exécution du premier code j'ai cette erreur :
Code:
1 2 3 4 5
| Stacktrace:] with root cause
java.nio.file.InvalidPathException: Illegal char <
> at index 68: C:\Users\IRISINSTALL\Documents\jpeg\Tarot_Calern\20140319\IC3900.jpg |
J'ai donc écrit un second code pour voir d'ou le problème vient en inscrivant directement le chemin de l'image :
Code:
1 2 3 4 5 6 7 8 9 10
| <%@page import="com.metier.*"%>
<%@page import="com.persistence.*"%>
<%@page pageEncoding="UTF-8"%>
<jsp:useBean id="monAppli" scope="application" class="com.metier.DiscoApplication"/>
<%
String chemin = "C:/Users/IRISINSTALL/Documents/jpeg/Tarot_Calern/20140319/IC3900.jpg";
String cheminref = "C:/Users/IRISINSTALL/Documents/jpeg/refgal/IC3900.jpg";
Reference.remplacer(chemin, cheminref);
request.getRequestDispatcher("disco.jsp").forward(request, response);
%> |
Et cette fois ci le code fonctionne.
Mon problème est donc le suivant :
Lorsque les chemins sont récupérer par "request.ReqParameter" la fonction Files.copy ne fonctionne pas. Pourtant le chemin est lui intègre.
J’espère avoir était assez clair,
Merci de vos futur réponse,
Enzo.