Je veux juste copier mes fichiers dans un dossier interne dans mon application java ee, ça fonctionne quand je mets le chemin de mon répertoire portable (ex: C: \ Utilisateurs \ helyoubi \ Desktop \ Japon 2) mais quand je veux le mettre dedans mon dossier webcontent j'ai cette exeption ci-dessous, dans ma méthode "importToDB" j'ai créé je demande de télécharger les données à ma base de données en utilisant "LOAD DATA LOCAL INFILE":

Nom : dzad.PNG
Affichages : 191
Taille : 26,5 Ko

erreur :

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
50
51
52
53
54
2018-05-20 10:08:18 INFO* MyfacesConfig:205 - Starting up Tomahawk on the RI-JSF-Implementation.
java.nio.file.NoSuchFileException: WebContent\upload\csv\export.csv
****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.newByteChannel(Unknown Source)
****at java.nio.file.spi.FileSystemProvider.newOutputStream(Unknown Source)
****at java.nio.file.Files.newOutputStream(Unknown Source)
****at java.nio.file.Files.copy(Unknown Source)
****at com.sybaway.gestionprojet.presentation.ImportFichier.saveFile(ImportFichier.java:55)
****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.apache.el.parser.AstValue.invoke(AstValue.java:247)
****at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)
****at com.sun.faces.facelets.el.TagMethodExpression.invoke(Unknown Source)
****at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(Unknown Source)
****at com.sun.faces.application.ActionListenerImpl.processAction(Unknown Source)
****at javax.faces.component.UICommand.broadcast(Unknown Source)
****at javax.faces.component.UIViewRoot.broadcastEvents(Unknown Source)
****at javax.faces.component.UIViewRoot.processApplication(Unknown Source)
****at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(Unknown Source)
****at com.sun.faces.lifecycle.Phase.doPhase(Unknown Source)
****at com.sun.faces.lifecycle.LifecycleImpl.execute(Unknown Source)
****at javax.faces.webapp.FacesServlet.service(Unknown Source)
****at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
****at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
****at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
****at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
****at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
****at com.sybaway.gestionprojet.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:42)
****at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
****at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
****at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
****at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
****at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
****at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
****at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
****at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
****at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
****at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
****at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:417)
****at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
****at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
****at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
****at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
****at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
****at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
****at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
****at java.lang.Thread.run(Unknown Source)
Form :
*
<h:form enctype="multipart/form-data">

Formulaire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<h:form enctype="multipart/form-data">
*
********<p:growl id="messages" showDetail="true" />
*
********<h:inputFile label="Choisir" value="#{importFichier.file}"/>
*
********<p:separator/>
*
********<h:commandButton value="Envoyer" ajax="false" action="#{importFichier.saveFile()}" />
*
****</h:form>
ManagedBean :

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
@ManagedBean
public class ImportFichier implements Serializable{
*
****/**
******
******/
****private static final long serialVersionUID = 1L;
*
*
****private PrelevementServices prelevServ = new PrelevementServicesImpl();
*
****private Part file;
*
****private String folder = "WebContent/upload/csv/";
*
****public Part getFile() {
********return file;
****}
*
*
****public void setFile(Part file) {
********this.file = file;
****}
*
*
****public void saveFile(){
*
********try (InputStream input = file.getInputStream()) {
*
************String fileName = file.getSubmittedFileName();
*
************Files.copy(input, new File(folder, fileName).toPath());
*
************if(fileName!= null) {
*
****************//prelevServ.importToDB("C:\\Users\\helyoubi\\Desktop\\Japon 2\\"+fichierUpload.getFileName());
*
****************prelevServ.importToDB(folder+fileName);
*
****************FacesMessage message = new FacesMessage("Succesful",fileName+ " is uploaded.");
*
****************FacesContext.getCurrentInstance().addMessage(null, message);
*
************}else {
*
****************FacesMessage message = new FacesMessage("Le chemin du fichier : "+fileName+" est introuvable");
*
****************FacesContext.getCurrentInstance().addMessage(null, message);
*
************}
*
*
************System.out.println("CSV added to your the DB Table");
*
*
********}
********catch (IOException e) {
************e.printStackTrace();
********}
****}
*
*
*
*
*
****}
Requête HQL:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
@Override
public void importToDB(String cheminFichier) {
*
****session.beginTransaction();
*
****//session.createQuery("LOAD DATA INFILE '"+cheminFichier+"' INTO TABLE Prelevement_saisons FIELDS TERMINATED BY ',' (espece,saison,departement,commune,code,attributions,realisations)").executeUpdate();
*
****session.createSQLQuery("LOAD DATA LOCAL INFILE :filename INTO TABLE Prelevement_saisons FIELDS TERMINATED BY ',' ENCLOSED BY '\"'(espece,saison,departement,commune,code,attributions,realisations)").setString("filename", cheminFichier).executeUpdate();
*
****session.getTransaction().commit();
*
}
Et merci pour votre aide