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

Format d'échange (XML, JSON...) Java Discussion :

création d'un fichier JSON impossible sous linux


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre régulier
    Homme Profil pro
    android
    Inscrit en
    Mai 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : android
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 29
    Points : 98
    Points
    98
    Par défaut création d'un fichier JSON impossible sous linux
    bonjour,

    je m'explique un peu mieux j'ai créer une petite appli qui tourne impec sous windows et je dois la tester sous linux mais j'ai remarqué que les dossiers se créent bien mais pas les fichiers.

    code que j'ai modifié pour linux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //création de dossier
    private File dir = new File("/home/pi/Documents/important");
    public void check_file(){
     
            if(dir.exists()){
                System.out.println("if => "+dir.exists());
            }else{
                boolean isCreated = dir.mkdirs();
                dir.setReadable(true);
                dir.setWritable(true);
                dir.setExecutable(true);
                System.out.println("else => "+isCreated);
            }
        }
    le dossier se crée bien avec les droit 777 il me semble.

    pour le fichier en json:
    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
    JSONObject obj = new JSONObject();
                obj.put("nb",nb);
                obj.put("test1",test1);
                obj.put("test2",test2);
                obj.put("test3",test3);
                obj.put("test4",test4);
                /*try  {*/
                //FileWriter file = null;
                //try (FileWriter file = new FileWriter(constante.DIR_FILE+"\\"+constante.PARAM_SPE)){//windows
                try (FileWriter file = new FileWriter(/home/pi/Documents/important/monFichier.json)){//linux
                    file.write(obj.toString());
                    file.flush();
                    System.out.print(obj);
                    return_result = 1;
                    return return_result;
                } catch (IOException e) {
                    e.printStackTrace();
                    System.out.print("pas ok"+e.getMessage());
                    return_result = 0;
                    return return_result;
                }
    mais rien y fait aucune création de fichier...

    quelqu'un aurait une idée?

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    c'est pas ton vrai code, ça, il y a pas les guillemets. Il faut montrer ton vrai code. Tu prends ce que tu as vraiment, tu le copies et tu le colles. Fais pas des modifs à la main, on pourra jamais voir où tu en es si tu fais ça.

    Et sinon, tu dis qu'il crée pas le fichier, bon, et pas de message d'erreur, pas de stacktrace ? Le résultat semble indiquer que tout va bien, sauf que le fichier est pas créé en réalité ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Homme Profil pro
    android
    Inscrit en
    Mai 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : android
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 29
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Hello,

    c'est pas ton vrai code, ça, il y a pas les guillemets. Il faut montrer ton vrai code. Tu prends ce que tu as vraiment, tu le copies et tu le colles. Fais pas des modifs à la main, on pourra jamais voir où tu en es si tu fais ça.

    Et sinon, tu dis qu'il crée pas le fichier, bon, et pas de message d'erreur, pas de stacktrace ? Le résultat semble indiquer que tout va bien, sauf que le fichier est pas créé en réalité ?
    salut et merci de répondre.

    je ne peux pas savoir pour les messages d'erreur car c'est le jar exécutable que j'utilise sur linux, à la base je code sous windows.

    s'il n'y avait pas de guillemet c'est que c'était des variable. je met le code.
    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
     
    public static int update_param_spe(int nb, int mode_cb, String smtp, int mail_port, String mail_address, String mail_sujet, String mail_body, int mail_ssl){
     
                JSONObject obj = new JSONObject();
                obj.put("nb",nb);
                obj.put("mode_cb",mode_cb);
                obj.put("smtp",smtp);
                obj.put("mail_port",mail_port);
                obj.put("mail_address",mail_address);
                obj.put("mail_sujet",mail_sujet);
                obj.put("mail_body",mail_body);
                obj.put("mail_ssl",mail_ssl);
                /*try  {*/
                //FileWriter file = null;
                //try (FileWriter file = new FileWriter(constante.DIR_FILE+"\\"+constante.PARAM_SPE)){ //windows
                try (FileWriter file = new FileWriter(/home/pi/Documents/important/monFichier.json)){ //linux
                    file.write(obj.toString());
                    file.flush();
                    System.out.print(obj);
                    return_result = 1;
                    return return_result;
                } catch (IOException e) {
                    e.printStackTrace();
                    System.out.print("pas ok"+e.getMessage());
                    return_result = 0;
                    return return_result;
                }
    }

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Citation Envoyé par edaone Voir le message
    s'il n'y avait pas de guillemet c'est que c'était des variable. je met le code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                try (FileWriter file = new FileWriter(/home/pi/Documents/important/monFichier.json)){ //linux
    Oui mais non, une variable ne commence certainement pas par un / donc la remarque de Thelvin reste valable. Ce code ne compilera pas.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par edaone Voir le message
    je ne peux pas savoir pour les messages d'erreur car c'est le jar exécutable que j'utilise sur linux, à la base je code sous windows.
    ........ Lance-le dans une console -_-°
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre régulier
    Homme Profil pro
    android
    Inscrit en
    Mai 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : android
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 29
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par thelvin Voir le message
    ........ Lance-le dans une console -_-°
    C'était involontaire, j'ai oublié les doubles "" quand je vous ai écris le code pour vous montrer le chemin
    la compilation se fait bien
    la console me remonte une erreur

    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/json/simple/parser/ParseException

    pourtant la librairie y est.
    en fait c'est ma librairie json.simple qui n'est pas reconnu après compilation. grrr

    je suis sous Intellij

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par edaone Voir le message
    C'était involontaire, j'ai oublié les doubles "" quand je vous ai écris le code pour vous montrer le chemin
    C'est pour ça que je t'ai dit qu'il faut copier/coller exactement ce que tu as et pas faire autre chose que ça. Pourquoi tu as refusé ?

    Citation Envoyé par edaone Voir le message
    pourtant la librairie y est.
    "Y est" où ça ? Tu le lances de la même façon que sous Windows ?
    Si non, quelles sont les différences, et de manière générale, que fais-tu exactement dans les deux ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/10/2011, 21h25
  2. Fichiers et répertoires sous linux : c'est quoi ./ et ~/ ?
    Par iDaaX dans le forum Mandriva / Mageia
    Réponses: 3
    Dernier message: 13/11/2007, 13h50
  3. [PDO] [SQLite] create table et insert impossible sous linux (ok sous windows)
    Par rebolon dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/07/2007, 15h59
  4. Fichier de sauvegarde sous linux
    Par b Oo dans le forum Administration système
    Réponses: 2
    Dernier message: 05/07/2006, 20h32
  5. Réponses: 2
    Dernier message: 25/10/2002, 22h19

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