Bonjour,

Je cherche une solution depuis deux jours, mais sans succès.

J'ai écrit le programme JAVA suivant :
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
 
package david;
import java.io.FileWriter;
public class Salut
{
	public static void  main(String[] args)
	{
		FileWriter writer = new FileWriter("F:/David/fichier.text", true);
		writer.write("Hello");
		writer.close(); 
 
		String[] list = new String[3] ;
		for (int i=1; i<5; i++)   list[i]= "Ligne " + i;
		System.out.println(list); 		
		catch (Exception ex) {ex.printStackTrace();} 
	}
}
A noter que je crée un fichier pour m'assurer que l'appel à Java fonctionne correctement. J'ai vérifié, ce fichier est bien créé.

Le programme php (très simple) suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<?php 
  exec('java   -cp   F:\David\david.jar  david.Salut ' , $reponse , $result_code);  
 echo "Code retour :  $result_code :\n";
 echo $reponse[0]
?>
la seule valeur que je récupère est le nom du tableau. J'ai essayé avec System.out.println(list.toString());. Dans ce cas, je récupère une seule ligne.
Maintenant je change par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
String list = "Lingne1\nLigne2\nLign3\n .....
je suis alors capable d'afficher toutes les lignes, mais une seule variable est retournée, or je veux retourner un tableau.

J'ai fait des essais en utilisant JSONArray plutôt que String[] mais j'obtiens la même chose. Dans php J'ai aussi essayé d'utiliser Json_decode($reponse) mais ça plante.


Merci si vous en avez l'expérience.

Gégé