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

Applets Java Discussion :

[Applet] Créer un fichier temporaire


Sujet :

Applets Java

  1. #1
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut [Applet] Créer un fichier temporaire
    Salut tout le monde,

    Je suis en train de modifier un eapplet, et je voudrais créer un fichier pour pouvoir l'utiliser pendant la durée de l'applet.
    Ce fichier et nécessaire pour faire tourner tout le reste du programme... et j'aimerai bien éviter de tout réécrire.
    Comment puis-je faire pour créer un fichier (quitte à le faire tenir en mémoire centrale si possible => il est très petit et est contruit à partir d'un flux XML) sur un poste via une applet ? (Si je ne me trompes pas, ça dépend pas mal des droits accordés par l'utilisateur sur son navigateur, mais ça je pense, et j'espère que ce n'est pas un problème.)
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  2. #2
    Membre habitué Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Points : 126
    Points
    126
    Par défaut
    Je ne comprend pas exactement ce que tu veux faire..
    Est-ce que ton applet va seulement lire dasn ce fichier? ou si elle va ecrire?
    Est-ce qu'elle va faire les 2?

    Tu pourras utiliser un fileInputStream ou un fileOutputStream

    Puir ce qui est de ta question du browser.. je ne comprend pas ta question. Ta servlet est une composant qui fonctionne sur le serveur .. et pas dans ton browser alors ton browser n'a rien a voir avec les droit pour créer un fichier...

    Donne moi + de détails et je vasi essayer un example concret

  3. #3
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Si c'est un flux XML, tu peux créer une répresentation DOM de ton flux. Cette répresentaion est gardée en mémoire.
    Bien le bonjour chez vous
    Jowo

  4. #4
    Membre averti Avatar de guignol
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 339
    Points
    339
    Par défaut
    Il me semble que pour créer des fichiers sur le client, il faut signer son applet.
    - Fais une recherche, c'est un conseil. Si je me mets à t'aider, tu vas pas t'en sortir

    - "Même avec les yeux grands ouverts, je n'y vois rien".

  5. #5
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Citation Envoyé par guignol
    Il me semble que pour créer des fichiers sur le client, il faut signer son applet.
    Ça, je ne sais pas comment faire...

    Citation Envoyé par jowo
    Si c'est un flux XML, tu peux créer une répresentation DOM de ton flux. Cette répresentaion est gardée en mémoire.
    Bien sûr, le problème, c'est que d'une part, mon flux est ensuite parsé avec SAX, et non pas avec DOM... d'autre partmon programme marche en stand alone ou en applet. Dans tous les cas, il utilise les mêmes méthodes.
    Afin de faire une représentation graphique de mon fichier, (je peux lire plusieurs type de fichiers, et j'utilise les données pour faire un graphique) toutes mes méthodes ont été définies avec des lectures de fichiers, dans lesquelles on retrouve des if(file.getName()==".xml" || file.getName...).
    Je me suis donc amusé à redéfinir ces méthodes pour quelles acceptent en paramètre mon flux XML sous forme de String, jusqu'au moment ou je tombe sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    			SAXParserFactory p = SAXParserFactory.newInstance();
    			p.setValidating(false);
    			SAXParser parser = p.newSAXParser();
    			XMLReader reader = parser.getXMLReader();
    			reader.setContentHandler(this);
    			reader.parse(inputUrl.toString()); // here the file is parsed.
    Et c'est là que rien ne va plus : je n'ai pas une URL mais un flux XML dans un String.

    Il me reste donc 2 solutions (si je ne m'abuse)
    • Soit je crée un fichier temporaire qui contient le flux XML, et dans ce cas, je ne retouche aucune méthode
    • Soit j'arrive à parser directement mon fflux XML avec SAX, mais là... ça ne marche pas. Voilà le code que j'ai produit dans ce but.

    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
    			SAXParserFactory p = SAXParserFactory.newInstance();
    			p.setValidating(false);
    			SAXParser parser = p.newSAXParser();
    			XMLReader reader = parser.getXMLReader();
    			reader.setContentHandler(this);
     
    			//Affichage de mon flux dans une petite fenête pour voir si il est bien là...
     
    			JFrame fenetre = new JFrame("readXML -> inputXML =");
    			JPanel panneau = new JPanel(new BorderLayout());
     
    			fenetre.getContentPane().add(panneau);
     
    			panneau.add(new JButton(inputXML),BorderLayout.CENTER);
     
    			fenetre.setSize(new Dimension(800,600));
     
    			fenetre.setVisible(true);
     
    //Tentative de parse...
    			reader.parse(new InputSource(new ByteArrayInputStream(inputXML.getBytes()))); // here the stream is parsed.
    Citation Envoyé par pmartin8
    Est-ce que ton applet va seulement lire dasn ce fichier? ou si elle va ecrire?
    Normalement si j'ai été clair cette fois, tu as du comprendre que je ne veux que lire.
    Citation Envoyé par pmartin8
    Tu pourras utiliser un fileInputStream ou un fileOutputStream
    Je veux bien, mais je ne vois pas trop comment je peux substituer un des ces objet à un objet de type "File"
    Citation Envoyé par pmartin8
    Puir ce qui est de ta question du browser.. je ne comprend pas ta question. Ta servlet est une composant qui fonctionne sur le serveur .. et pas dans ton browser alors ton browser n'a rien a voir avec les droit pour créer un fichier...
    Il n'est pas question de servlet, seulement une applet, qui est présente sur un serveur, et qui est appelée par le client, via un autre logiciel. Il s'agit en fait de la connection de 2 logiciels. Le premier est un logiciel Web, grâce auquel l'utilisateur peut lancer le second (celui sur lequel je travaille) avec un flux XML en paramètre. Pour que mon logiciel se lance, je l'exécute dans une applet...

    J'espère avoir répondu à toutes les questions, avec le minimum de clarté nécessaire.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  6. #6
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    La solution ne pourrait-elle pas être:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String nomFichier = "C:/examle/MonFichier.xml";
    File fileMonFichier = new File(monFichier);
    URL urlMonFichier = fileMonFichier.toURL();
    Bien le bonjour chez vous
    Jowo

  7. #7
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Non, car il y a violation des droits d'écriture sur la machine.

    Je n'ai aucune idée de 'architecture des postes de mes clients, ormis le fait que je ne peux rien installer dessus, que le disque C est toujours protégé, et que je n'ai (en gros...) rien le droit d'écrire sur le disque. C'est pour ça que j'espère pouvoir créer le fichier dans la RAM ou alors surcharger mes méthodes pour ne plus utiliser de fichiers dans le cas ou je fonctionne par applet.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  8. #8
    Membre habitué Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Points : 126
    Points
    126
    Par défaut
    heum .. ouais..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    File fichier = new File("C:/fichier.xml");
    fileInputStream stream = new fileInputStream(fichier);
     
    //ensuite tu parses ton stream
    Document document;
     
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    document = builder.parse(stream);
    Dans cet exemple je parse avec DOM mais j'imagine que tu peux faire la meme chose avec SAX.

    Par contre... Avec SAX le contenu XML de ton fichier n'est pas gardé en memoire.. contrairemnt a DOM.

    Je sais pas si ca répond a ta question?

  9. #9
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    OK, mais on retombe toujours sur le même problème : création d'un fichier !!!
    Et pour moi, ben... c'est prohibé.

    N'y a-t'il pas possibilité de faire fi de cette partie là ? N'est-il pas possible de parser directement un XML contenu dans un String ?
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  10. #10
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Citation Envoyé par pmartin8
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    File fichier = new File("C:/fichier.xml");
    fileInputStream stream = new fileInputStream(fichier);
     
    //ensuite tu parses ton stream
    Document document;
     
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    document = builder.parse(stream);
    Si j'utilise cette technique, il va me falloir mettre dans ce nouveau fichier la chaine que je viens de recevoir et qui contient mon flux XML...
    Or je ne crois pas pouvoir écrire dans un FileInputStream.
    Il me faudrait donc un FileOutputStream, et pour l'avoir testé, ça ne marche pas...
    J'ai également testé en faisant un File.createTempFile(), et ça n'a pas mieux marché.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  11. #11
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Tu as déjà la solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //Tentative de parse... 
             reader.parse(new InputSource(new ByteArrayInputStream(inputXML.getBytes()))); // here the stream is parsed
    Qu'est-ce qui ne marche pas dans ce code? D'où vient la variable inputXML?
    Bien le bonjour chez vous
    Jowo

  12. #12
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    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
    	/**
             * loads the data from the XML stream.
             * pre: initialized titleString.
             * @param inputXML the XML source of XML stream
             */
    	public void readXML(String inputXML) throws ProtocolException, IOException {
    		inTree = false;
    		inDeclarations = false;
     
    		try {
    			SAXParserFactory p = SAXParserFactory.newInstance();
    			p.setValidating(false);
    			SAXParser parser = p.newSAXParser();
    			XMLReader reader = parser.getXMLReader();
    			reader.setContentHandler(this);
     
    			JFrame fenetre = new JFrame("readXML -> inputXML =");
    			JPanel panneau = new JPanel(new BorderLayout());
     
    			fenetre.getContentPane().add(panneau);
     
    			panneau.add(new JButton(inputXML),BorderLayout.CENTER);
     
    			fenetre.setSize(new Dimension(800,600));
     
    			fenetre.setVisible(true);
     
    			reader.parse(new InputSource(new ByteArrayInputStream(inputXML.getBytes()))); // here the stream is parsed.
    		} catch (ParserConfigurationException e) {
    			D.p("readXML: " + e);
    			e.printStackTrace();
    			D.p("readXML: throwing IOException");
    			throw new IOException();
    		} catch (SAXException e) {
    			D.p("readXML: " + e);
    			e.getException().printStackTrace();
    			throw (ProtocolException) e.getException();
    		} catch (OutOfMemoryError e) {
    			D.pd2("readXML: " + e);
    			HandleMemory.showMessage(parent);
    			readTFR_cancel();	// throws ProtocolException
    		}
    	}
    La variable inputXML est un String contenant mon flux XML en provenance de l'autre appli. Elle contient le bon flux, puisqu'elle s'affiche correctement dans ma petite fenêtre "de test".

    Et voici ma console :
    Citation Envoyé par Console Java
    readXML: org.xml.sax.SAXParseException: Whitespace required before attributes.

    java.lang.NullPointerException

    at package.MyXMLReader.readXML(MyXMLReader.java:228)

    at package.MyXMLReader.readFile(MyXMLReader.java:142)

    at package.MyModel.readFromTFR(MyModel.java:759)

    at package.MyModel.read(MyModel.java:590)

    at package.MyModel.<init>(MyModel.java:467)

    at package.MyProgram.fileOpen(MyProgram.java:1534)

    at package.MyProgram.<init>(MyProgram.java:478)

    at package.MyApplet.init(MyApplet.java:61)

    at sun.applet.AppletPanel.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)
    Le ligne 228 dont il est question est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    		} catch (SAXException e) {
    			D.p("readXML: " + e);
    			e.getException().printStackTrace();			//ligne 228
    			throw (ProtocolException) e.getException();
    Bien sûr, si je commente ma ligne, l'erreur va sur la suivante, et si je commente la suivante, l'erreur arrive dans le prochain appel de méthode...

    Cette SAXEcxception est levée (je suppose, très fortement) sur la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    			reader.parse(new InputSource(new ByteArrayInputStream(inputXML.getBytes()))); // here the stream is parsed.
    Bref, je ne sais pas trop quoi faire pour y remédier.

    Merci pour votre patience.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  13. #13
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    J'aimerais jeter un coup d'oeil justement sur le contenu de ta petite fenêtre de test.

    Il se peut que le problème provient du flux XML (le contenu).
    Bien le bonjour chez vous
    Jowo

  14. #14
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut Exact
    Tu as complètement raison !

    Mon flux XML est pourri !
    Pourtant voici le code que j'utilise pour le récupérer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    		String[][] params=applet.getParameterInfo();
     
    		String fieldParam = applet.getParameter("myField");
    		fieldParam = fieldParam.replace('|','"');
    Et ensuite, si j'affiche juste ici mon flux... rien ne va plus !
    Les caractères spéciaux codés dans le flux original sont du genre "&amp;" sont transformés simplement en "&". Et j'ai une foule d'espace qui sont supprimés ==> Les attributs se retrouvent collés les uns aux autres, et évidemment, ça ne marche plus.

    Quelqu'un aurait-il une idée sur la raison de cette modification de mon flux quand je le récupère dans une chaine ?

    PS: Si je remplace les '|' (pipe) par des '"' (guillemets) c'est parceque le flux contient des guillemets à la base et si il ne sont pas transformés en pipes avant l'appel à l'applet, celle si est considéréee comme invalide. (Normal entre nous soit dit )
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  15. #15
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Donc le flux XML est récupéré de ta page HTML. Ai-je raison?

    Si c'est le cas, il faut que tu regardes le source de ta page HTML. Le problème peut provenir de là.

    Je n'ai pas compris ton PS. Pourquoi remplaces-tu les guillemets par des barres verticales?
    Bien le bonjour chez vous
    Jowo

  16. #16
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Le code HTML est nickel.
    Voilà l'appel :
    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
    <HTML>
    <HEAD>
    <TITLE> My Soft 4.0 </TITLE>
    </HEAD>
    <BODY>
     
    <APPLET code="myPackage.MyApplet.class" 
            archive="mySoft.jar"
            width="800" height="600">
        <param name="fileSourceDir" value="files">
        <param name="fileSourceDirIndex" value="index.txt">
        <param name="filename" value="my-settings.tms">
     <param name="myField" value="ICI SE TROUVE MON FLUX CORRECT...">
     
     
    Your browser is completely ignoring the APPLET tag!
    </APPLET>
     
    </BODY>
    </HTML>
    Donc, c'est bien quand il est récupéré par mon applet que le paramètre est modifié... Pourquoi ?
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  17. #17
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Citation Envoyé par jowo
    Je n'ai pas compris ton PS. Pourquoi remplaces-tu les guillemets par des barres verticales?
    C'est lors de l'appel de mon applet que tous les guillemets sont tranformés en pipes.
    Voici un extrait de mon XML sa va t'aider à comprendre :
    Citation Envoyé par XML
    <?xml version="1.0" encoding="UTF-8"?>
    Comme tu l'auras compris il s'agit seulement de la première balise de mon fichier... Et si dans l'appel à l'applet, il y a un guillement dans mon champ value, alors le champ value est sensé être fini, et il y a une erreur syntaxique sur la forme de mon appel d'applet : au lieu de trouver une balise fermante, il trouve du texte après le guillement de fin de champ...
    Donc en remplaçant tous les guillements de mon flux en pipe avant de lancer l'applet, je n'ai plus d'erreur syntaxique sur l'ouverture de cette dernière.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  18. #18
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    "ICI SE TROUVE MON FLUX CORRECT..." ne m'apparaît pas être un XML valid . Fin de la plaisanterie

    Il faut que tu lises le document de W3C concernant les valeurs possibles dans un attribut d'une balise dans un flux XML.

    En plus la longueur de la valeur de l'attribut pourrait poser problème.
    Bien le bonjour chez vous
    Jowo

  19. #19
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Les caractères <&" sont interdits dans un attribut.

    A mon avis, il faudra encoder le flux XML et ton applet effectuera l'opration inverse. La prochaine question est: comment faut-il encoder?
    Bien le bonjour chez vous
    Jowo

  20. #20
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    J'ai essayé avec un autre fichier, plus petit... et j'ai exactement le même problème : toujours cette **** disparition d'espace qui fait que mon flux ne veut plus rien dire.

    Comme je ne sais pas trop quel type de caractère et quel type de chaine je suis susceptiple de recevoir, je vais me renseigner demai matin sur les moyens d'encoder ce flux.

    Merci pour votre aide.... Je me penche là dessus demain matin.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. créer un fichier temporaire proprement
    Par Benoit_T dans le forum Langage
    Réponses: 1
    Dernier message: 07/08/2008, 19h39
  2. [applet] créer un fichier depuis une applet.
    Par BouB dans le forum Applets
    Réponses: 12
    Dernier message: 02/04/2007, 06h45
  3. [c#]Créer un fichier temporaire
    Par chasse dans le forum Windows Forms
    Réponses: 1
    Dernier message: 29/10/2006, 13h26
  4. Réponses: 3
    Dernier message: 28/09/2006, 11h37
  5. Créer un fichier temporaire
    Par duchere dans le forum Langage
    Réponses: 7
    Dernier message: 04/06/2006, 00h57

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