A voir également:
- Erreur : java.lang.nullpointerexception
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 3005 france tv - Forum TV & Vidéo
- Erreur 5000 france tv - Forum iPhone
22 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
25 avril 2005 à 11:14
25 avril 2005 à 11:14
Ben c'est que ton objet stmt pointe sur null, il doit être mal initialisé. Maintenant, faut savoir ou tu l'initialise, et quand pa rapport au démarrage du thread
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
25 avril 2005 à 10:01
25 avril 2005 à 10:01
Bonjour!
Pourrais tu mettre l'erreur en entier s'il te plait! Juste le nom de l'erreur ne suffit pas! ;)
merci!
Pourrais tu mettre l'erreur en entier s'il te plait! Juste le nom de l'erreur ne suffit pas! ;)
merci!
Ben justement elle est en entier, y a rien d'autre d'indiqué.
Je peux pas en dire plus...
Tu as déjà vu ce genre d'erreur ?
Je peux pas en dire plus...
Tu as déjà vu ce genre d'erreur ?
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
25 avril 2005 à 10:25
25 avril 2005 à 10:25
Moi, je dirais que le problème vient de la connexion. es tu sure que la connexion se fait bien?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
5 mars 2008 à 15:21
5 mars 2008 à 15:21
Rachète toi un baladeur ou emmène celui-ci en réparation logicielle.
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
25 avril 2005 à 10:10
25 avril 2005 à 10:10
Oui, c'est tres courant, c'est une erreur de dépassement mémoire : ya qqchose dans ton code qui pointe en dehors de la zone de mémoire allouée, et donc pointe sur null. Tu traite des tableau, ou des Vector qqpart je pense, et tu as du mettre un indice de trop, mais nous ton code stp, et la ligne ou il te fait l'erreur (c'est marqué normalement quand tu as l'erreur).
La ligne est pas marquée mais avec les traces je vois que ça bloque au niveau de la ligne stmt.executeUpdate(query);
J'utilise pas de tableau ou de vecteur, c'est ça le pire !
Je vous mets le code si ça peut aider.
J'utilise pas de tableau ou de vecteur, c'est ça le pire !
Je vous mets le code si ça peut aider.
public class PServer { final static int localport = 8080; public static int cle = 0; public static Statement stmt; // Variables pour accéder à la base de données : public static String my_password; public static String my_login; public static String my_Base; public static String my_Serveur; public static void main(String[] args) throws IOException { ServerSocket serveur = null; try{ // Connection à la base de données pour sauvegarder les requetes des clients et les réponses du serveur Web paramConnection(); newConnection(); serveur = new ServerSocket(localport); System.out.println("Serveur proxy démarré sur le port " + localport + "\n"); // Ecoute infinie des requêtes des clients while(true){ Socket client = serveur.accept(); cle = cle + 1; Clients c = new Clients(client,cle); System.out.println("Nouveau client\n"); } } catch (Exception e){System.err.println(e);} finally{ try{ if (serveur != null) { serveur.close(); System.out.println("serveur.close"); } } catch (Exception e){System.err.println(e);} } } /** * paramConnection() * methode qui effectue le paramétrage des variable de connection */ public static void paramConnection() { try { String chemin = "../Connection.txt"; FileReader fr = new FileReader(chemin); BufferedReader br = new BufferedReader(fr); String texte; for (int i=0; i<4; i++) { texte = br.readLine(); if (i == 0) my_password = recupParam(texte); //System.out.println(my_password); if (i == 1) my_login = recupParam(texte); //System.out.println(my_login); if (i == 2) my_Base = recupParam(texte); //System.out.println(my_Base); if (i == 3) my_Serveur = recupParam(texte); //System.out.println(my_Serveur); } // Fin for. br.close(); //readLine pour lire une ligne //note: si il n y a rien, la fonction retournera la valeur null } // Fin try. catch(IOException ioe) { System.out.println("erreur de lecture du fichier de connection reglage par defaut: " + ioe); my_password = new String(""); //par defaut "" my_login = new String("root"); //par defaut "root" my_Base = new String("db1"); //nom de la base (par defaut "db1") my_Serveur = new String("localhost"); //par defaut "localhost" } // Fin catch. } // Fin de paramConnection(). /** * newConnection() : * Méthode qui fait la connexion avec la base de données MySQL db1. */ public static void newConnection() { try { // Chargement du driver JDBC de MySQL. Class.forName("com.mysql.jdbc.Driver").newInstance(); System.out.println(my_password); System.out.println(my_Serveur); System.out.println(my_Base); System.out.println(my_login); // Connection à la base de données db1. java.sql.Connection connection = DriverManager.getConnection((String)("jdbc:mysql://"+my_Serveur+"/"+my_Base+"?user="+my_login+"&password="+my_password)); stmt = connection.createStatement(); } // Fin du Try. catch (Exception e) { System.out.println("error : in newConnection"); e.printStackTrace(); System.exit(-1); } // Fin du Catch. } // Fin de newConnection(); /** * String recup_param(String texte) * methode qui permet de recuperer les parametre entre "" dans le string */ private static String recupParam(String texte){ String formater; char[] tab; char[] result; int i,j; tab = texte.toCharArray(); i = 0; while (tab[i] != '"') i++; i++; formater = new String(); while (tab[i] != '"') formater = formater + tab[i++]; return formater; } // Fin de recupParam(). } // ! PServ class class Clients extends Thread { private Socket client; private int cle; private String url; private InputStream sin; private OutputStream sout; public static int port = 80; private String query; public static Statement stmt; public Clients(Socket client, int cle){ try{ this.client = client; this.cle = cle; start(); } catch (Exception e){System.err.println(e);} } // !constructeur public void run(){ try{ sin = client.getInputStream(); BufferedReader from_client = new BufferedReader(new InputStreamReader(sin)); sout = client.getOutputStream(); /*byte [] buffer = new byte[4096]; int lus;*/ String tmp; String requete = ""; String user_agent = ""; String host_client = ""; String referer = ""; Socket socket = new Socket(); int position; boolean fini = false; // Lecture de la requete du client while (((tmp = from_client.readLine()) != null) && !fini){ System.out.println(tmp); String regex0 = "^(GET|POST) +(http[^ ]+) +HTTP/(.\\..)$"; Pattern p0 = Pattern.compile(regex0); Matcher m0 = p0.matcher(tmp); while (m0.find()){ for (int i=0; i <= m0.groupCount(); i++){ System.out.println("Groupe " + i + " : " + m0.group(i)); } query = "INSERT INTO traces_clients(chaine_entiere) VALUES ('GET')"; System.out.println("ça passe1"); stmt.executeUpdate(query); System.out.println("ça passe2"); // insertion dans la base des données de l'utilisateur //System.out.println("INSERT INTO traces_clients(chaine_entiere,methode,URL,norme_HTTP) VALUES ('" + m0.group(0) + "', '" + m0.group(1) + "', '" + m0.group(2) + "', '" + m0.group(3) + "')"); //query = "INSERT INTO traces_clients(chaine_entiere,methode,URL,norme_HTTP) VALUES ('" + m0.group(0) + "', '" + m0.group(1) + "', '" + m0.group(2) + "', '" + m0.group(3) + "')"; //stmt.executeUpdate(query); } if (tmp.trim().toUpperCase().startsWith("GET")) { position = tmp.trim().toUpperCase().lastIndexOf("HTTP") > 0 ? tmp.toUpperCase().lastIndexOf("HTTP") : tmp.length(); url = tmp.trim().substring(11,position-2).trim(); requete = tmp; } else if (tmp.trim().toUpperCase().startsWith("HEAD") || tmp.trim().toUpperCase().startsWith("POST")) { position = tmp.trim().toUpperCase().lastIndexOf("HTTP") > 0 ? tmp.toUpperCase().lastIndexOf("HTTP") : tmp.length(); url = tmp.trim().substring(12,position-2).trim(); requete = tmp; } // il faut recuperer le User-Agent, le Host et le Referer String regex = "^User-Agent: +(.*\\))$"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(tmp); while (m.find()){ user_agent = m.group(0); } String regex2 = "^Host: +(.*)"; Pattern p2 = Pattern.compile(regex2); Matcher m2 = p2.matcher(tmp); while (m2.find()){ host_client = m2.group(1); } String regex3 = "^Referer: +(.*)"; Pattern p3 = Pattern.compile(regex3); Matcher m3 = p3.matcher(tmp); while (m3.find()){ referer = m3.group(1); } // On arrete de lire quand il n'y a plus rien à lire String regex4 = "^[a-zA-Z]"; Pattern p4 = Pattern.compile(regex4); Matcher m4 = p4.matcher(tmp); if (!m4.find()) { fini = true; System.out.println("fini " + fini); break; } } System.out.println("Url demandée : " + url + "\n"); //PARTIE CONNEXION AU SERVEUR WEB if (host_client != "") { socket = new Socket(InetAddress.getByName(host_client),port); System.out.println("socket créé"); } else if (referer != ""){ socket = new Socket(InetAddress.getByName(referer),port); System.out.println("socket créé"); } else { socket = new Socket(InetAddress.getByName(url),port); System.out.println("socket créé"); } PrintStream sortant = new PrintStream(socket.getOutputStream()); // On envoie au serveur Web la requete du client if (host_client != "") { sortant.println(requete + " \r\n" + user_agent + "\r\n" + "Host: " + host_client + "\r\n" ); } else { sortant.println(requete + " \r\n" + user_agent + "\r\n" ); } // Lecture de la réponse du serveur Web PrintStream sout = new PrintStream(client.getOutputStream()); //BufferedReader entrant = new BufferedReader(new InputStreamReader(socket.getInputStream())); InputStream entrant = socket.getInputStream(); System.out.println("Lecture de la réponse du serveur ..."); FileWriter sortie = new FileWriter("fichier.txt"); boolean html = false; boolean pas_encore = false; byte [] buffer = new byte[4096]; int lus; while ((lus = entrant.read(buffer)) != -1) { sout.write(buffer,0,lus); System.out.write(buffer,0,lus); } socket.close(); System.out.println("socket.close();"); client.close(); System.out.println("client.close();"); } catch (Exception e){System.err.println(e);} } // ! run() method } // ! Clients class
Bonjour,
J'ai un baladeur DJIX 315 et le soucis est qu'il est impossible d'accéder au logiciel pour synchroniser ou retirer des chansons.
Il me marque une exception java. lang.NullPointerException:
at bootloader.BootLoader.copyRecursiveDir(Unknown Source)
at bootloader.BootLoader.updateSoftware(Unknown Source)
at bootloader.BootLoader.initThread(Unknown Source)
at bootloader.BootLoader.start(Unknown Source)
at bootloader.CommandLineMain.main(Unknown Source)
Je vous remercie d'avance
Cordialement
J'ai un baladeur DJIX 315 et le soucis est qu'il est impossible d'accéder au logiciel pour synchroniser ou retirer des chansons.
Il me marque une exception java. lang.NullPointerException:
at bootloader.BootLoader.copyRecursiveDir(Unknown Source)
at bootloader.BootLoader.updateSoftware(Unknown Source)
at bootloader.BootLoader.initThread(Unknown Source)
at bootloader.BootLoader.start(Unknown Source)
at bootloader.CommandLineMain.main(Unknown Source)
Je vous remercie d'avance
Cordialement
bonjour ;
j ai l exeption qui se lance lors de l execution de mon programme :
Erreur lors de la lecture du fichier /opt/ptc/windchill/src/ext/sogerma/genprintbatch/listefichiers2[j] (No such file or directory)
java.lang.NullPointerException
at ext.sogerma.genprintbatch.UnThread.run(sgGenPrintBatch.java:493)
s1 :M523P5781-01A.tif
et ma partie du programme concernée par cette exception est la suivante :
public void run(){
//creation de l'instance du Thread
UnThread Thread = new UnThread();
//activation du Thread
Thread.start();
while(Thread.isAlive()){
//vérifier si de nouveaux fichiers TIFF générés sont apparus dans le répertoire de génération des fichiers "tif"
String repertoire1 = path; //sogerma.tiffiles.path=/PDMLinkShare/pdmdevTifFiles
String repertoire2 = pathxml2;
File f1 = new File(repertoire1);
File f2 = new File(repertoire2);
String[] listefichiers1 = f1.list();
String[] listefichiers2 = f2.list();
String s1, s2, s_2, s3;
//recuperer les fichiers TIFF et les integrer dans le PDM
for (int i = 0; listefichiers1 != null && i < listefichiers1.length; i++) {
if(listefichiers1[i].endsWith(".tif")==true){
s1 = new String(listefichiers1[i]);
System.out.println("s1 :" + s1);
s2 = s1.substring(0, s1.length()-3);
s_2 = s2 + "xml";
System.out.println("s_2 :" + s_2);
File file_Name1 = new File(s1);
//verifier si il existe le fichier "xml" pour loader le fichier tif dans PDMLink
for (int j = 0; listefichiers2!= null && j < listefichiers2.length; j++) {
File file_Name2 = new File(listefichiers2[j]);
if(listefichiers2[j].endsWith(".xml")==true){
if(listefichiers2[j].equals(s_2)==true){
System.out.println("s_2 trouve " );
//String path = System.getProperty("user.dir");
//rechercher dans le fichier "xml" la valeur de "<xmlpartNumber>"
org.jdom.Document document = null ;
try {
//On cree une instance de SAXBuilder
SAXBuilder sxb = new SAXBuilder();
//document = sxb.build(new File("listefichiers2[j]"));
document = sxb.build(file_Name2);
}catch (IOException e) {
System.out.println("Erreur lors de la lecture du fichier "
+ e.getMessage() );
} catch (JDOMException e){
System.out.println("Erreur lors de la construction du fichier JDOM "
+ e.getMessage() );
e.printStackTrace();
}
try {
//On initialise un nouvel element racine avec l'element racine du document.
Element racine = document.getRootElement();
//declarer le chemin à chercher.
XPath xpa = XPath.newInstance("./xmlpartNumber");
//obtenir la valeur retournée du premier noeud répondant à notre requête
Element noeudCourant = (Element) xpa.selectSingleNode(racine);
String retour = xpa.valueOf(noeudCourant);
System.out.println("Valeur : " + retour);
WTPart part = sgUtils.getPart(retour);
System.out.println("les valeurs de <xmlpartNumber> :" + part);
//load du fichier "tif" Ã partir du fichier "xml"
//s3 = new String(listefichiers2[j]);
boolean load = loadXML(part, path, listefichiers2[j]);
}
catch (JDOMException e) {
System.out.println("Erreur JDOM " + e.getMessage() );
e.printStackTrace();
}
//suppression des fichiers "tif" et "xml"
file_Name1.delete();
file_Name2.delete();
}
else{
System.out.println("s_2 pas trouve " );
//renommage des fichiers "tif" et "xml" quand ils ne sont pas les mêmes
File destination1 = new File(file_Name1 + "_diff");
file_Name1.renameTo(destination1);
File destination2 = new File(file_Name2 + "_diff");
file_Name2.renameTo(destination2);
}
}
}
}
}
try{
//faire une pause de 100 pour simuler un traitement
System.out.println("Je dors");
Thread.sleep(10000000);
}
catch(InterruptedException ex){}
}
}
est ce que quelqu un pourrait m aider SVP à regler ce probleme? merci
j ai l exeption qui se lance lors de l execution de mon programme :
Erreur lors de la lecture du fichier /opt/ptc/windchill/src/ext/sogerma/genprintbatch/listefichiers2[j] (No such file or directory)
java.lang.NullPointerException
at ext.sogerma.genprintbatch.UnThread.run(sgGenPrintBatch.java:493)
s1 :M523P5781-01A.tif
et ma partie du programme concernée par cette exception est la suivante :
public void run(){
//creation de l'instance du Thread
UnThread Thread = new UnThread();
//activation du Thread
Thread.start();
while(Thread.isAlive()){
//vérifier si de nouveaux fichiers TIFF générés sont apparus dans le répertoire de génération des fichiers "tif"
String repertoire1 = path; //sogerma.tiffiles.path=/PDMLinkShare/pdmdevTifFiles
String repertoire2 = pathxml2;
File f1 = new File(repertoire1);
File f2 = new File(repertoire2);
String[] listefichiers1 = f1.list();
String[] listefichiers2 = f2.list();
String s1, s2, s_2, s3;
//recuperer les fichiers TIFF et les integrer dans le PDM
for (int i = 0; listefichiers1 != null && i < listefichiers1.length; i++) {
if(listefichiers1[i].endsWith(".tif")==true){
s1 = new String(listefichiers1[i]);
System.out.println("s1 :" + s1);
s2 = s1.substring(0, s1.length()-3);
s_2 = s2 + "xml";
System.out.println("s_2 :" + s_2);
File file_Name1 = new File(s1);
//verifier si il existe le fichier "xml" pour loader le fichier tif dans PDMLink
for (int j = 0; listefichiers2!= null && j < listefichiers2.length; j++) {
File file_Name2 = new File(listefichiers2[j]);
if(listefichiers2[j].endsWith(".xml")==true){
if(listefichiers2[j].equals(s_2)==true){
System.out.println("s_2 trouve " );
//String path = System.getProperty("user.dir");
//rechercher dans le fichier "xml" la valeur de "<xmlpartNumber>"
org.jdom.Document document = null ;
try {
//On cree une instance de SAXBuilder
SAXBuilder sxb = new SAXBuilder();
//document = sxb.build(new File("listefichiers2[j]"));
document = sxb.build(file_Name2);
}catch (IOException e) {
System.out.println("Erreur lors de la lecture du fichier "
+ e.getMessage() );
} catch (JDOMException e){
System.out.println("Erreur lors de la construction du fichier JDOM "
+ e.getMessage() );
e.printStackTrace();
}
try {
//On initialise un nouvel element racine avec l'element racine du document.
Element racine = document.getRootElement();
//declarer le chemin à chercher.
XPath xpa = XPath.newInstance("./xmlpartNumber");
//obtenir la valeur retournée du premier noeud répondant à notre requête
Element noeudCourant = (Element) xpa.selectSingleNode(racine);
String retour = xpa.valueOf(noeudCourant);
System.out.println("Valeur : " + retour);
WTPart part = sgUtils.getPart(retour);
System.out.println("les valeurs de <xmlpartNumber> :" + part);
//load du fichier "tif" Ã partir du fichier "xml"
//s3 = new String(listefichiers2[j]);
boolean load = loadXML(part, path, listefichiers2[j]);
}
catch (JDOMException e) {
System.out.println("Erreur JDOM " + e.getMessage() );
e.printStackTrace();
}
//suppression des fichiers "tif" et "xml"
file_Name1.delete();
file_Name2.delete();
}
else{
System.out.println("s_2 pas trouve " );
//renommage des fichiers "tif" et "xml" quand ils ne sont pas les mêmes
File destination1 = new File(file_Name1 + "_diff");
file_Name1.renameTo(destination1);
File destination2 = new File(file_Name2 + "_diff");
file_Name2.renameTo(destination2);
}
}
}
}
}
try{
//faire une pause de 100 pour simuler un traitement
System.out.println("Je dors");
Thread.sleep(10000000);
}
catch(InterruptedException ex){}
}
}
est ce que quelqu un pourrait m aider SVP à regler ce probleme? merci
Dans la fonction NewConnection(), ça a l'air de bien se passer puisqu'il n'y a pas d'exception levée.
Les parametres de connection sont bons, j'ai vérifié.
Là je comprends vraiment pas ce qui se passe.
Quelqu'un a une idée ?
Les parametres de connection sont bons, j'ai vérifié.
Là je comprends vraiment pas ce qui se passe.
Quelqu'un a une idée ?
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
25 avril 2005 à 10:32
25 avril 2005 à 10:32
Et si dans ta fonction paramConnexion, tu ote le fait qu'on puisse enter les paramètre et tu les mets d'office à la valeur par défaut (comme quand il y une erreur IO.
Ca donne quoi en testant de cette manière ?
public static void paramConnection() { my_password = new String(""); my_login = new String("root"); my_Base = new String("db1"); my_Serveur = new String("localhost"); } /** * newConnection() : * Méthode qui fait la connexion avec la base de données MySQL db1. */ public static void newConnection() { try { // Chargement du driver JDBC de MySQL. Class.forName("com.mysql.jdbc.Driver").newInstance(); System.out.println(my_password); System.out.println(my_Serveur); System.out.println(my_Base); System.out.println(my_login); // Connection à la base de données db1. java.sql.Connection connection = DriverManager.getConnection((String)("jdbc:mysql://"+my_Serveur+"/"+my_Base+"?user="+my_login+"&password="+my_password)); stmt = connection.createStatement(); } // Fin du Try. catch (Exception e) { System.out.println("error : in newConnection"); e.printStackTrace(); System.exit(-1); } // Fin du Catch. } // Fin de newConnection();
Ca donne quoi en testant de cette manière ?
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
25 avril 2005 à 10:34
25 avril 2005 à 10:34
ah, dsl j'ai cru que c t dans la ofnction de connexion que ca n'allais pas ..
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
25 avril 2005 à 10:36
25 avril 2005 à 10:36
C'est quoi le dernier "System.out.println" qui s'affiche avant ton erreur ?
Je commence à ma dire qu'il y un probleme avec la connection. Car meme avec une requete du type select *, j'ai une erreur.
Comment je peux tester que la connection est toujours là ?
Comment je peux tester que la connection est toujours là ?