String index out of range: -1
d'accord, j'ai pas téléchargé les fichiers, j'ai juste fais une lecture avec readline, et j'ai bien réussi à voir dans mon console le contenu du fichier, j'ai essayé avec
Citation:
filelist.get(1)
. mais là j'aimerai découper cette contenu pour avoir un élément.
Je crois savoir que le problème vient de indexof avec fichier dans ftp,
quand je n'utilise pas indexof,
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| try {
ret = new Vector<String>();
InputStream stream = ftpClient.retrieveFileStream(sourceFile);
fluxEntree = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
//String inputline = new String("");
String inputline = null;
while ((inputline = fluxEntree.readLine()) != null) {
// indiceSeparateur = inputline.indexOf("\t", 9);
// int indicelast = inputline.lastIndexOf("\t");
// temp = new String(inputline.substring(indiceSeparateur + 1,
// indicelast));
//
// ret.add(temp);
System.out.println("temp 1DAB >> "+inputline);
iterator ++;
}
fluxEntree.close(); |
j'obtient :
Citation:
temp 1DAB >> 12/23 15:52:19 46856 308681
temp 1DAB >> 12/23 15:53:19 29852 148160
temp 1DAB >> 12/23 15:54:19 63253 332386
mais quand je décommentes indexof:
try {
ret = new Vector<String>();
InputStream stream = ftpClient.retrieveFileStream(sourceFile);
fluxEntree = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
//String inputline = new String("");
String inputline = null;
while ((inputline = fluxEntree.readLine()) != null) {
indiceSeparateur = inputline.indexOf("\t", 9);
int indicelast = inputline.lastIndexOf("\t");
temp = new String(inputline.substring(indiceSeparateur + 1,
indicelast));
ret.add(temp);
System.out.println("temp 1DAB >> "+temp );
iterator ++;
}
fluxEntree.close();[/CODE]
l'erreur suivante apparait:
Citation:
org.apache.jasper.JasperException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
cause mère
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
java.lang.String.substring(Unknown Source)
com.telma.reporting.debit.Utilftpfile.getExtractDebits(Utilftpfile.java:113)
org.apache.jsp.Newjsp_jsp._jspService(Newjsp_jsp.java:90)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
j'aimerais savoir comment découper :
Citation:
temp 1DAB >> 12/23 15:52:19 46856 308681
temp 1DAB >> 12/23 15:53:19 29852 148160
temp 1DAB >> 12/23 15:54:19 63253 332386
pour avoir la partie
Citation:
46856
29852
63253
seulement, c'est pourquoi j'utilise indexof, est ce possible de l'utiliser pour découper fichier dans serveur ftp que je vois à distance à partir de FTPClient et FTPFile?
j'ai vraiment besoin de votre aide svp, je ne sais plus comment le faire
merci